Лично я подобные задачки решаю на компьютере. Тут требуется элементарная по простоте программка.
Например на бейсике она может выглядеть так:
s = 0
For x = 100 To 999
s = s + x
Next x
Print s
Если её запустить, получается результат: 494550.
Стал я смотреть дальше на закономерности, учитывая ручной сложения по два.
И пришёл к интересным выводам.
Если наш диапазон чисел 900. Это числа: 100,101,...,999. Всего их 900. (999-100+1=900 )
Это 899 чисел (от 101 до 999) и 900 - е число - это число 100.
То если решать методом сумм по 2, то нужно 450 сложений.
Число 450 получается из числа 900: 900/2=450.
Теперь получается интересный эффект.
Если попробовать поделить полученный результат 494550 на наше число 450, то получается число 1099.
А что такое число 1099?
Это сумма чисел из нашего условия: 100+999=1099.
Получается, зная это с самого начала, не нужно было бы делать 450 сложений.
Нужно просто перемножить 450 на 1099 и получишь 494550.
Получается вот такая формула для решения данной задачки:
Summa =(100+999)*(999-100+1)/2=1099*450=494550.
Не знаю, насколько годится данная формула для решения других задачек (особенно для нечётного диапазона чисел), это ещё надо проверять, но результат получился интересный.
const g = 5; v = 3;
var a: array[1..g,1..v] of integer;
i,j,maxj,minj,p:integer;
begin
writeln('Массив: ');
for i:=1 to g do
begin
for j:=1 to v do
begin
a[i,j]:=Random(101);
write(a[i,j]:4)
end;
writeln
end;
for i:=1 to g do
begin
maxj:=1;
minj:=1;
for j:=1 to v do
begin
if a[i,j]>a[i,maxj] then maxj:=j;
if a[i,j]<a[i,minj]then minj:=j;
end;
p:=a[i,maxj];
a[i,maxj]:=a[i,minj];
a[i,minj]:=p;
end;
writeln;
writeln('Преобразованный массив: ');
for i:=1 to g do
begin
for j:=1 to v do write(a[i,j]:4);
writeln
end;
end.