Предмет: Информатика, автор: Сэээээ

Прошу проверить уже написанную задачу.
Напишите программу, которая в последовательности
натуральных чисел определяет сумму трёхзначных чисел, кратных 4.
Программа получает на вход натуральные числа, количество введённых
чисел неизвестно, последовательность чисел заканчивается числом 0
(0 – признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введённые числа не превышают
30 000. Программа должна вывести одно число: сумму трёхзначных
чисел, кратных 4.
Написал, но при в введении любых значений, программа выдаёт 0. Что не так в коде, который представлен ниже?

var a,b:integer;
begin
readln(a);
b:=0;
while (a<>0) do
begin
if(a>100) and (a<1000) and (a div 4=0) then
b:=b+a;
readln(a);
end;
writeln(b);
end.

Ответы

Автор ответа: MrMiner1
5

Program n_1;

var a,b:integer;

begin

   read(a);

   b:=0;

   while (a<>0) do begin

       if(a>=100) and (a<1000) and (a mod 4=0) then

           b:=b+a;

       read(a);

   end;

   writeln(b);

end.

Исправил. Твои ошибки (уже исправленные) выделены черным.

1. Трехзначные числа не больше ста, а не меньше ста.

2. Операция div - частное от деления, а mod - остаток от деления. Для проверки кратности используется mod.


Сэээээ: Спасибо)
Похожие вопросы
Предмет: Алгебра, автор: Аноним