Вподземном городке живут пять мышей, каждая в своей норке. каждая пара норок связана отдельным проходом, которая не пересекается с другими . сколькими соединены норки?
Это полный граф с n=5 вершинами, число ребер в нем равно n*(n-1)/2 = 5*4/2 = 10 формула получается как сумма арифметической прогресии, первую норку можно соединить с 4ю другими 4 вторую уже с 3мя (т.к. с первой она уже соединена): 4+3 третью норку соединяем с 4ой и пятой (с 1 и 2 уже есть тоннели) 4+3+2 и четвертую с пятой 4+3+2+1
Честно, не поняла ваш код вообще. Почему нет цикла? Предлагаю свое решение: 1)Cначала заполняем массив случайными числами от 2 до 5 (включительно) 2)Потом выводим его (Для проверки) 3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:
program N_0547847; var b, c, d, f, i:integer; a: array [1..20] of integer; begin; randomize; b:=0; c:=0; d:=0; f:=0; for i:=1 to 20 do begin a[i]:=random(4)+2; write(a[i],' '); end; writeln; for i:=1 to 20 do begin if a[i]=2 then b:=b+1; if a[i]=3 then c:=c+1; if a[i]=4 then d:=d+1; if a[i]=5 then f:=f+1; end; writeln('Двоек: ', b); writeln('Троек: ', c); writeln('Четверок: ',d); writeln('Пятерок: ',f); end.
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку: procedure G(n: integer);forward; Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы. После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:
Вызов процедуры F и выполнение * n = 12 * n = 12 Вызов процедуры G и выполнение * n = 11 * n = 11 Вызов процедуры F и выполнение * n = 9 * n = 9 Вызов процедуры G и выполнение * n = 8 * n = 8 Вызов процедуры Fи выполнение * n = 6 * n = 6 Вызов процедуры G и выполнение * n = 5 * n = 5 Вызов процедуры F и выполнение * n = 3 * n = 3 Вызов процедуры G и выполнение * n = 2 * n = 2 Вызов процедуры F и выполнение * n = 0
n*(n-1)/2 = 5*4/2 = 10
формула получается как сумма арифметической прогресии, первую норку можно соединить с 4ю другими
4
вторую уже с 3мя (т.к. с первой она уже соединена):
4+3
третью норку соединяем с 4ой и пятой (с 1 и 2 уже есть тоннели)
4+3+2
и четвертую с пятой
4+3+2+1
по индукции доказывается для n
ответ 10.