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