Program n1; const razmer = 2001; var a:array [1..100] of integer; b:array [0..100,0..100] of integer; i,j,min:integer; begin writeln('Исходный массив: '); for i:=1 to 100 do begin a[i]:=random(razmer)-razmer div 2; write(a[i],' '); b[i,0]:=a[i]; b[0,i]:=a[i]; end; writeln;
min:=a[1]+a[2];
writeln('Все возможные значения попарных сумм:'); for i:=1 to 100 do begin for j:=1 to i-1 do begin b[i,j]:=b[0,j]+b[i,0]; write(b[i,j],' '); if b[i,j]<min then min:=b[i,j]; end; writeln; end;
writeln('Наименьшее значение попарной суммы: ',min); end.
ОТДЕЛ Задание+; ИСПОЛЬЗУЕТ Вывод ИЗ "...\Отделы\Обмен\", Приём;
ПЕР n, k, сч, мин, кол: ЦЕЛ;
ЗАДАЧА Сумма_цифр(число: ЦЕЛ): ЦЕЛ; ПЕР сумма: ЦЕЛ; УКАЗ сумма := 0; ПОКА число > 0 ВЫП УВЕЛИЧИТЬ(сумма, число ОСТАТОК 10); число := число ДЕЛИТЬ 10 КОН; ВОЗВРАТ сумма КОН Сумма_цифр;
УКАЗ Вывод.Цепь("n: "); n := Приём.Число(); Вывод.Цепь("^k: "); k := Приём.Число(); мин := 1; ОТ сч := 1 ДО n - 1 ВЫП мин := мин * 10 КОН; кол := 0; ОТ сч := мин ДО мин * 10 - 1 ВЫП ЕСЛИ Сумма_цифр(сч) = k ТО УВЕЛИЧИТЬ(кол) КОН КОН; Вывод.ЧЦел("^%d", кол, 0, 0, 0)
Исходная цепочка ЛОМ 1-й шаг ЛОМ 2-й шаг ЛОММОЛ 3-й шаг ЛОММОЛН 4-й шаг ЛОММОЛН 5-й шаг ЛОММОЛННЛОММОЛ 6-й шаг ЛОММОЛННЛОММОЛО Результат ЛОММОЛННЛОММОЛО Количество букв «О» 5
4.
Исходная цепочка КОЛ 1-й шаг Л 2-й шаг ЛЛО 3-й шаг ЛЛОК Результат ЛЛОК
5.
Номер строки Строка 1 1 2 21 3 312 4 4213 5 53124 6 642135 .............. 9-я строка будет оканчиваться на четные цифры от 8 вниз 2468
const razmer = 2001;
var a:array [1..100] of integer;
b:array [0..100,0..100] of integer;
i,j,min:integer;
begin
writeln('Исходный массив: ');
for i:=1 to 100 do
begin
a[i]:=random(razmer)-razmer div 2;
write(a[i],' ');
b[i,0]:=a[i];
b[0,i]:=a[i];
end;
writeln;
min:=a[1]+a[2];
writeln('Все возможные значения попарных сумм:');
for i:=1 to 100 do
begin
for j:=1 to i-1 do
begin
b[i,j]:=b[0,j]+b[i,0];
write(b[i,j],' ');
if b[i,j]<min then min:=b[i,j];
end;
writeln;
end;
writeln('Наименьшее значение попарной суммы: ',min);
end.