Циклы с предусловием.
1. Вводится натуральное число, не превосходящее 100000. Найти:
а) сумму чётных цифр числа;
б) произведение наибольшей и наименьшей цифр, отличных от нуля;
в) количество нечётных цифр.
2. Вводится последовательность натуральных чисел. Число 0 - признак окончания ввода. Найти сумму чисел кратных 3.
Ответы
1)
var
x:integer;
sum,count,max,min:integer;
flag:boolean;
begin
sum:=0; count:=0;
max:=-1; min:=10;
repeat
readln(x);
until (x<100000) and (x>0);
max:=-1; min:=10;
while x>0 do
begin
if (x mod 10) mod 2 = 0 then
sum:=sum+ x mod 10
else
inc(count);
if x mod 10 > max then
max:=x mod 10
else
if (x mod 10 < min) and (x mod 10 <>0) then
min:=x mod 10;
x:=x div 10;
end;
writeln('a)sum: ',sum);
writeln('min: ',min,' max: ',max);
writeln('b)pr(min*max): ',min*max);
writeln('c)count: ',count);
end.
2)
var
x,sum:integer;
begin
sum:=0;
repeat
readln(x);
if x mod 3 = 0 then
sum:=sum+ x;
until x=0;
writeln('sum: ',sum);
end.
Если моё решение вам помогло, отметьте его как лучшее. Спасибо! Удачи!