Последовательность натуральных чисел бесконечно, поэтому также бесконечна будет искомая сумма. Для того, чтобы сделать задачу реальной, ограничимся 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
Вроде так,не люблю Pascal,хотя вы не указали на чём писать)
program name; uses crt; var i,s,n:integer; a: array [1..100] of integer; begin clrscr; readln(n); s:=0; for i:=1 to n do begin if a[i] mod 5= 0 then begin s:=s+a[i]; end; end; writeln(s); end.
while (rule = true) do begin k := k + 1; tmp := a1 + k * d;
if (tmp < 50) then max := tmp
else rule := false;
end;
sum := (a1 + max) / 2 * k;
Writeln(); Writeln('Сумма = ', sum);
End.
Программа будет работать только для арифметических прогрессий, например, таких, как последовательность из задания. Вводить нужно 2 целых числа (первые два члена прогрессии) через пробел (в вашем случае 4 и 7)
while (rule = true) do begin k := k + 1; tmp := a1 + k * d;
if (tmp < 50) then max := tmp
else rule := false;
end;
sum := (a1 + max) / 2 * k;
Writeln(); Writeln('Сумма = ', sum);
End.
Программа будет работать только для арифметических прогрессий, например, таких, как последовательность из задания. Вводить нужно 2 целых числа (первые два члена прогрессии) через пробел (в вашем случае 4 и 7)
В этом ряду первое число, кратное 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