Напишите программу, вычисляющую сумму только тех чисел от 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д