Varn, nine, one: integer; begin readln(n); nine := 0; one := 0; while (n > 0) do begin if (n mod 10 = 1) then inc(one) else if (n mod 10 = 9) then inc(nine);n := n div 10; end; if (one = nine) then writeln('Равны') else if (one > nine) then writeln('Единиц больше') else writeln('Девяток больше'); end.
А вот так это можно написать на современном Паскале, но мало где этому учат:
// PascalABC.Net 3.0, сборка 1066 begin var s:=ReadInteger('Введите натуральное число: ').ToString; var k1:=s.Where(x->x='1').Count; var k9:=s.Where(x->x='9').Count; if k1>k9 then Writeln('Единиц больше') else if k9>k1 then Writeln('Девяток больше') else Writeln('Единиц и девяток поровну') end.
Тестовое решение: Введите натуральное число: 231192 Единиц больше
begin
readln(n);
nine := 0;
one := 0;
while (n > 0) do
begin
if (n mod 10 = 1) then
inc(one)
else
if (n mod 10 = 9) then
inc(nine);n := n div 10;
end;
if (one = nine) then
writeln('Равны')
else
if (one > nine) then
writeln('Единиц больше')
else
writeln('Девяток больше');
end.
// PascalABC.Net 3.0, сборка 1066
begin
var s:=ReadInteger('Введите натуральное число: ').ToString;
var k1:=s.Where(x->x='1').Count;
var k9:=s.Where(x->x='9').Count;
if k1>k9 then Writeln('Единиц больше')
else
if k9>k1 then Writeln('Девяток больше')
else Writeln('Единиц и девяток поровну')
end.
Тестовое решение:
Введите натуральное число: 231192
Единиц больше