Напишите программу, вычисляющую сумму только тех чисел от 1 до N, которые делятся либо на три, либо на пять - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Задача: Напишите программу, вычисляющую сумму только тех чисел от 1 до N, которые делятся либо на три, либо на пять
var N, i, a:integer;
begin
writeln('Введите любое число');
readln(N);
for a:=1 to N+1 do
if a mod 3=0 then
i:=i+a
else if a mod 3=0 then i:=i+a;
writeln(i);
readln
end.
Вот такое получилось, вот только сумма всегда получается на 1 больше. Можно перед циклом присвоить "a" значение "-1", тогда все отлично, но это какое-то неправильное решение, знаете, будто не болезнь лечим, а симптом убираем

Решение задачи: «Напишите программу, вычисляющую сумму только тех чисел от 1 до N, которые делятся либо на три, либо на пять»

textual
Листинг программы
var
  N, i, a: integer;
begin
  writeln('Введите любое число');
  readln(N);
  i := 0;
  for a := 1 to N do
    if (a mod 3 = 0) or (a mod 5 = 0) then
    begin
      i := i + a;
    end;
  writeln;
  writeln('Сума чисел делящихся или на 3, или на 5: ', i);
end.

Объяснение кода листинга программы

  1. Объявлены переменные N, i, a (N - число, i - счетчик суммы, a - текущее число)
  2. Пользователю предлагается ввести число (N)
  3. Цикл for a := 1 to N выполняет проверку для каждого числа от 1 до N
  4. Условие if (a mod 3 = 0) or (a mod 5 = 0) проверяет, делится ли число на 3 или 5 (или на оба)
  5. Если условие истинно, то к переменной i прибавляется значение переменной a
  6. После выполнения цикла выводится сумма чисел, которые делятся на 3 или 5

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы