Предмет: Информатика,
автор: Сэээээ
Прошу проверить уже написанную задачу.
Напишите программу, которая в последовательности
натуральных чисел определяет сумму трёхзначных чисел, кратных 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.
Ответы
Автор ответа:
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.
Сэээээ:
Спасибо)
Похожие вопросы
Предмет: Українська мова,
автор: PoproshaykaTOp28
Предмет: Биология,
автор: ihnatievayeva5
Предмет: Биология,
автор: semenkovaveronika721
Предмет: История,
автор: oksanamalceva7
Предмет: Алгебра,
автор: Аноним