М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Desergei93
Desergei93
22.01.2023 08:25 •  Информатика

Напишите программу в последовательности натуральных чисел определить сумму чисел кратных 5

👇
Ответ:
annafycguvvv
annafycguvvv
22.01.2023
Последовательность натуральных чисел бесконечно, поэтому также бесконечна будет искомая сумма. Для того, чтобы сделать задачу реальной, ограничимся 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.

Можно без компьютера и программирования обойтись, если вспомнить об арифметической прогрессии.
\displaystyle a_1=5; \ d=5 \\ a_k=n; \ a_k=a_1+(k-1)d; \ n=5+(k-1)\cdot5=5k \to k= \frac{n}{5} \\ S= \frac{a_1+a_k}{2}\times k= \frac{5+n}{2}\times \frac{n}{5}=\boxed { \frac{n(n+5)}{10} }
Для нашего тестового примера получаем 100(100+5)/10=10*105=1050
4,6(17 оценок)
Ответ:
danjaegorovru
danjaegorovru
22.01.2023
Вроде так,не люблю 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.
4,7(11 оценок)
Открыть все ответы
Ответ:
amalia110
amalia110
22.01.2023
Program Test;

Var
a1, a2, d, k, max, tmp: integer;
sum: real;
rule: boolean;

Begin

Writeln('Введите а1 и а2');
Readl(a1, a2);

k := 2;
d := a2 - a1;
rule := true;

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)
4,4(42 оценок)
Ответ:
ХЕЛП209
ХЕЛП209
22.01.2023
Program Test;

Var
a1, a2, d, k, max, tmp: integer;
sum: real;
rule: boolean;

Begin

Writeln('Введите а1 и а2');
Readl(a1, a2);

k := 2;
d := a2 - a1;
rule := true;

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)
4,4(56 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ