ПОМОГИИТЕ! Дано натуральное число. Определить, сколько раз в нем встречается цифра равная последней.
Var a,c,l,w1,w2,w3 : longint;begin readln(a,c); w1:=0; w2:=0; w3:=0; l:=a mod 10; while a>0 do begin if a mod 10=c then w1:=w1+1; if a mod 10=l then w2:=w2+1; if a mod 2=0 then w3:=w3+1; a:=a div 10; end; writeln(w1,' ',w2,' ',w3);end.
Эмм.. А проще никак?))
Получить цифры, составляющие число, можно операцией целочисленного деления на 10 N - исходное число. K - целая часть числа после деления на 10. M - остаток деления. Тогда: Код: readln(N); {получим число} K := N; p := 0; {цифр в числе} Chet := 0; {четных цифр} repeat M := K mod 10; {последняя цифра справа} K := K div 10; p := p + 1; {или ink(p)} {для определения того, что число четное, можно использовать одно неполное условие} if ((M mod 2) = 0) Then Chet := Chet + 1; ... until K <> 0; {пока