На вход программы поступает натуральное число . Требуется определить сумму цифр в десятичной записи этого числа , которые кратны 3(считается , что 0 кратно любому числу). Если в числе нет цифр , кратных 3, требуется на экран вывести "NO".
Прошу написать через цикл while
Answers & Comments
var a,b,N:integer;
begin
readln(a);
while a>0 do
begin
b:=a mod 10;
if b div 3 = 0 then
N:=N+B;
END
IF N:=0 THEN
WRITELN('NO');
ELSE
WRITELN(N);
END.
var a,s:integer;
begin
readln(a);
while a>0 do
begin
if a mod 10 mod 3 = 0 then s:=s+a mod 10;
a:=a div 10
end;
if s=0 then writeln('NO')
else writeln(s);
end.