uses crt;
var
x:longint;
i,n:integer;
begin
clrscr;
write('x: ');
readln(x);
i:=0; n:=0;
while x<>0 do begin
i:=i+(x mod 10);
x:=x div 10;
n:=n+1;
end;
writeln('Cумма : ',i);
write('Кол-во цифр : ',n);
readln;
end.
Теперь через процедуру и немного изменим условия.
Надо посчитать все цифры в числе, кот-ые кратны 3.
Код:
uses crt;
var
x:longint;
procedure nums(x:longint);
var sum,count:integer;
begin
sum:=0; count:=0;
// начинаем цикл с проверкой числа, если число законичилось,т.е. = 0, то закончить
repeat
// здесь проверяем кратность цифры
if x mod 10 <>0 then if (a mod 10) mod 3 = 0
// подсчитываем кол-во цифр
then count:= count +1;
// далее от числа убираем цифру, которую проверяли выше
x:=x div 10;
until x=0;
writeln('Сумма : ',sum);
write('Кол-во цифр : ',count);
end;
begin
clrscr;
write('Введите число : ');
read(x);
nums(x);
readln;
end.
Комментариев нет:
Отправить комментарий