from random import randint n = int(input()) m = 0 z=0 for i in range (n): b = 10**i * randint(0,9) m = m + b if (b/10**i) % 2 == 0: z = z+1 print(m) print(z)
Здесь задается только длина числа, а само число выводится рандомно, но если что, то можно сделать ввод с клавиатуры.
Var n,x: integer; k,m,i: byte; begin randomize; write ('Введите длину числа (M): '); readln (m); x:=1; // величина ограничителей значений числа при рандомном вводе for i:=2 to m do x:=x*10; n:=random(x,x*10-1); writeln ('n=',n); for i:=1 to m do begin if (n mod 10) mod 2 =0 then k:=k+1; n:=n div 10; end; writeln; writeln ('В этом числе ',k,' четных цифр'); end.
n = int(input())
m = 0
z=0
for i in range (n):
b = 10**i * randint(0,9)
m = m + b
if (b/10**i) % 2 == 0:
z = z+1
print(m)
print(z)
Var
n,x: integer;
k,m,i: byte;
begin
randomize;
write ('Введите длину числа (M): ');
readln (m);
x:=1; // величина ограничителей значений числа при рандомном вводе
for i:=2 to m do
x:=x*10;
n:=random(x,x*10-1);
writeln ('n=',n);
for i:=1 to m do begin
if (n mod 10) mod 2 =0
then k:=k+1;
n:=n div 10;
end;
writeln;
writeln ('В этом числе ',k,' четных цифр');
end.
Пример:
Введите длину числа (M): 4
n=5297
В этом числе 1 четных цифр