Затем у нас включается цикл, который выполняется пока s + n < 150.
Тут давайте попробуем решать не простым перебором, а более рационально.
Изначально, сумма s и n равна 80, а каждый проход наша сумма будет увеличиваться на 10 (-5 + 15).
т.к мы знаем, что цикл выполняется пока сумма меньше 150, то можем составить простое уравнение:
80 + 10 * x = 150
Найдём x
70 = 10*x
x = 7
Но x это не ответ, а количество выполненных итераций в цикле, так как на экран выводится значение n, то мы его и посчитаем. Каждый раз прибавлялось 15, а значит, чтобы найти n нужно 7 умножить на 15, 7 * 15 = 105
Представим таблицу в виде: (см. Рис. 1) Получаем уравнение 8 + b1 + 4 = 2*b1 + (b1+2) + 4 Отсюда: b1 = 3. Получаем (см. Рис. 2)
Далее, заметим, что сумма по горизонтали и по диагонали равна 15. Заполняем таблицу (см. Рис. 3)
ответ: С2 = 9
Решение 2.
Заданным свойством (иметь одинаковую сумму по горизонталям, вертикалям и диагоналям) обладает единственный МАГИЧЕСКИЙ КВАДРАТ (не учитывая его повороты и отражения относительно осей). Это магический квадрат 3х3 с магической суммой 15 (см. Рис. 4)
Program n1; const n=10; var a: array[1..n] of integer; n3,n2,min,max,i,imin,imax,t: integer; begin randomize; writeln('введите диапазон (a;b) :'); write('a='); readln(n3); write('b='); readln(n2); write('сгенерированный массив: '); for i:=1 to n do begin a[i]:=random(n2-n3+1)+n3; write(a[i],' '); end; writeln; min:=a[1]; for i:=2 to n do if a[i]<min then min:=a[i]; for i:=1 to n do if a[i]=min then begin imin:=i; break; end; max:=a[1]; for i:=2 to n do if a[i]>max then max:=a[i]; for i:=1 to n do if a[i]=max then begin imax:=i; break; end; t:=a[imax]; a[imax]:=a[imin]; a[imin]:=t; write('полученный массив: '); for i:=1 to n do write(a[i],' '); end.
Задача аналогична , ну давайте считать.
Изначально, s = 80, n = 0
Затем у нас включается цикл, который выполняется пока s + n < 150.
Тут давайте попробуем решать не простым перебором, а более рационально.
Изначально, сумма s и n равна 80, а каждый проход наша сумма будет увеличиваться на 10 (-5 + 15).
т.к мы знаем, что цикл выполняется пока сумма меньше 150, то можем составить простое уравнение:
80 + 10 * x = 150
Найдём x
70 = 10*x
x = 7
Но x это не ответ, а количество выполненных итераций в цикле, так как на экран выводится значение n, то мы его и посчитаем. Каждый раз прибавлялось 15, а значит, чтобы найти n нужно 7 умножить на 15, 7 * 15 = 105
ответ: n = 105