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

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

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

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

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

textual
Листинг программы
  1. var
  2.   N, i, a: integer;
  3. begin
  4.   writeln('Введите любое число');
  5.   readln(N);
  6.   i := 0;
  7.   for a := 1 to N do
  8.     if (a mod 3 = 0) or (a mod 5 = 0) then
  9.     begin
  10.       i := i + a;
  11.     end;
  12.   writeln;
  13.   writeln('Сума чисел делящихся или на 3, или на 5: ', i);
  14. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы