Напишите программу, вычисляющую сумму только тех чисел от 1 до N, которые делятся либо на три, либо на пять - Free Pascal
Формулировка задачи:
Задача: Напишите программу, вычисляющую сумму только тех чисел от 1 до N,
которые делятся либо на три, либо на пять
Вот такое получилось, вот только сумма всегда получается на 1 больше. Можно перед циклом присвоить "a" значение "-1", тогда все отлично, но это какое-то неправильное решение, знаете, будто не болезнь лечим, а симптом убираем
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 до 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.
Объяснение кода листинга программы
- Объявлены переменные N, i, a (N - число, i - счетчик суммы, a - текущее число)
- Пользователю предлагается ввести число (N)
- Цикл for a := 1 to N выполняет проверку для каждого числа от 1 до N
- Условие if (a mod 3 = 0) or (a mod 5 = 0) проверяет, делится ли число на 3 или 5 (или на оба)
- Если условие истинно, то к переменной i прибавляется значение переменной a
- После выполнения цикла выводится сумма чисел, которые делятся на 3 или 5
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д