Последовательность натуральных чисел бесконечно, поэтому также бесконечна будет искомая сумма. Для того, чтобы сделать задачу реальной, ограничимся n первыми членами последовательности, т.е. рядом чисел 1,2,3,..n. В этом ряду первое число, кратное 5 - это 5. А дальше будем прибавлять по 5, пока не превысим числа n и все полученные числа складывать.
Вот очень короткое решение, написанное на самой современной версии языка Паскаль.
// PascalABC.NET 3.1, сборка 1211 от 31.03.2016 begin Writeln(Range(5,ReadInteger('n='),5).Sum) end.
Результат выполнения программы: n= 100 1050
А вот решение на классическом "школьном" Паскале
var i,n,s:integer; begin Write('n='); Read(n); s:=0; i:=5; while i<=n do begin s:=s+i; i:=i+5 end; Writeln(s) end.
Можно без компьютера и программирования обойтись, если вспомнить об арифметической прогрессии.
Для нашего тестового примера получаем 100(100+5)/10=10*105=1050
Еще вариант решения. Работает на первом минимальном элементе.
var a: array[1..8, 1..10] of integer; min, i, j, im, jm: integer; begin min := MaxInt; //Заполнение матрийцы, вывод и поиск минимального for i := 1 to 8 do begin for j := 1 to 10 do begin a[i, j] := random(21) - 10; if a[i, j] < min then begin min := a[i, j];im := i;jm := j; //в im и jm индексы минимального end; write(a[i, j]:4); end; writeln; end; writeln('Первое минимальное a[', im, ',', jm, '] = ', min:3); //Удаление строки и столбца for i := im to 7 do for j := 1 to 10 do a[i, j] := a[i + 1, j]; for i := 1 to 7 do for j := jm to 9 do a[i, j] := a[i, j + 1];
//Вывод матрицы for i := 1 to 7 do begin for j := 1 to 9 do write(a[i, j]:4); writeln; end; end.
В этом ряду первое число, кратное 5 - это 5. А дальше будем прибавлять по 5, пока не превысим числа n и все полученные числа складывать.
Вот очень короткое решение, написанное на самой современной версии языка Паскаль.
// PascalABC.NET 3.1, сборка 1211 от 31.03.2016
begin
Writeln(Range(5,ReadInteger('n='),5).Sum)
end.
Результат выполнения программы:
n= 100
1050
А вот решение на классическом "школьном" Паскале
var
i,n,s:integer;
begin
Write('n='); Read(n);
s:=0;
i:=5;
while i<=n do begin
s:=s+i;
i:=i+5
end;
Writeln(s)
end.
Можно без компьютера и программирования обойтись, если вспомнить об арифметической прогрессии.
Для нашего тестового примера получаем 100(100+5)/10=10*105=1050
var
a: array[1..8, 1..10] of integer;
min, i, j, im, jm: integer;
begin
min := MaxInt;
//Заполнение матрийцы, вывод и поиск минимального
for i := 1 to 8 do
begin
for j := 1 to 10 do
begin
a[i, j] := random(21) - 10;
if a[i, j] < min then begin
min := a[i, j];im := i;jm := j; //в im и jm индексы минимального
end;
write(a[i, j]:4);
end;
writeln;
end;
writeln('Первое минимальное a[', im, ',', jm, '] = ', min:3);
//Удаление строки и столбца
for i := im to 7 do
for j := 1 to 10 do a[i, j] := a[i + 1, j];
for i := 1 to 7 do
for j := jm to 9 do a[i, j] := a[i, j + 1];
//Вывод матрицы
for i := 1 to 7 do
begin
for j := 1 to 9 do write(a[i, j]:4);
writeln;
end;
end.
Тестовое решение:
3 3 9 7 0 6 -6 -3 -9 10
7 8 -3 -4 -9 0 9 -5 -3 8
3 2 -7 1 6 -6 -8 10 -7 1
2 0 -9 2 1 -2 7 1 7 5
-6 -1 -7 -6 -7 7 -10 6 9 -6
-3 -7 9 9 3 -10 -1 -3 -10 -4
4 -6 -7 0 -3 -4 7 5 6 3
4 -2 -1 3 4 -7 -1 9 -2 9
Первое минимальное a[5,7] = -10
3 3 9 7 0 6 -3 -9 10
7 8 -3 -4 -9 0 -5 -3 8
3 2 -7 1 6 -6 10 -7 1
2 0 -9 2 1 -2 1 7 5
-3 -7 9 9 3 -10 -3 -10 -4
4 -6 -7 0 -3 -4 5 6 3
4 -2 -1 3 4 -7 9 -2 9