Определить в числе, не превышающем миллиард (1000000000) количество чётных чисел (паскаль) можно простое решение

Тамирис91 Тамирис91    1   01.09.2019 22:40    0

Ответы
annkhanenko23 annkhanenko23  06.10.2020 10:35
Var 
N: integer; 
s: string; 
i,c: byte;

begin 
ReadLn(N); 
Str(N,s); 
c:=0; 
for i:=1 to Length(s) do   
if s[i] in ['0','2','4','6','8'] then     
Inc(c); 
WriteLn(c); 
end.
ПОКАЗАТЬ ОТВЕТЫ
дочь17 дочь17  06.10.2020 10:35
1. Вариант современного решения
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln('Число четных цифр равно ',
    abs(ReadInteger('n=')).ToString.Where(c->c.ToDigit.IsEven).Count)
end.

Пример
n= 363754345
Число четных цифр равно 3

2. Вариант "школьного решения" в синаксисе ТурбоПаскаль 1983г.

program TP70;
uses Crt;
var
  n:longint;
  k,d:byte;
begin
  ClrScr;
  Write('n= '); Read(n);
  n:=abs(n);
  k:=0;
  while n>0 do begin
    d:=n mod 10;
    if d mod 2=0 then Inc(k);
    n:=n div 10
    end;
  Writeln('Число четных цифр равно ',k);
  ReadKey;
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика