Дано натуральное число n.Определить сколько в числе нулей.Pascal ABC

0 голосов
51 просмотров

Дано натуральное число n.Определить сколько в числе нулей.Pascal ABC


Информатика (89 баллов) | 51 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
1. "Школьное" решение

//PascalABC.Net 3.0, сборка 1064
var
  s:string;
  i,k:integer;
begin
  Write('Введите натуральное число: '); Readln(s);
  k:=0;
  for i:=1 to Length(s) do
    if s[i]='0' then Inc(k);
  Writeln('Количество нулей в записи числа равно ',k)
end.

Пример:
Введите натуральное число: 13054000230
Количество нулей в записи числа равно 5

2. Современное решение

//PascalABC.Net 3.0, сборка 1064
begin
  var s:=ReadString('Введите натуральное число: ');
  Writeln('Количество нулей в запиcи числа равно ',s.Where(x->x='0').Count)
end.

Пример:
Введите натуральное число:  13054000230
Количество нулей в записи числа равно 5
(142k баллов)
0 голосов

Var n,i:longint; begin read (n); i:=0; repeat if (n mod 10 = 0) then i:=i+1; n:= n div 10; until (n=0); writeln(i); End.

(336 баллов)
0

нужно другое решение попроще!

0

Var i:integer;
c:char;
begin
repeat
read(c);
if (ord(c)=48) then i:=i+1;
until (c='');
writeln(i);
End.

0

Так попроще, но только после ввода числа надо обязательно пробел ставить

0

Var i:integer;
c:char;
begin
repeat
read(c);
if (ord(c)=48) then i:=i+1;
until (c=' ');
writeln(i);
End.