Determinaţi numărul de apariţii a unei cifre c în reprezentarea tuturor numerelor mai mici sau egale cu un n dat.
Date de intrare
Pe prima linie a fişierului aparitiicifra.in se află numerele n şi c separate prin spaţii.
Date de ieșire
Pe prima linie a fişierului aparitiicifra.out se scrie numărul de apariţii a cifrei c în reprezentarea tuturor numerelor mai mici sau egale cu n.
Restricții și precizări
0< n < 2.000.000.000
0< c < 10
dar sa fie eficienta
Răspunsuri la întrebare
Răspuns de
1
var
c:byte;
t:text;
i,a,p,n,k:integer;
begin
assign(t,'aparitiicifra.in');
reset(t);
read(t,n,c);
close(t);
if (n>=2000000000) or (n<=0) or (c>=10) or (c<=0) then exit;
a:=0;
for i:=1 to n do begin
k:=i;
while k<>0 do begin
p:=k mod 10;
k:=k div 10;
if p=c then inc(a);
end;
end;
assign(t,'aparitiicifra.out');
rewrite(t);
write(t,a);
close(t);
end.
c:byte;
t:text;
i,a,p,n,k:integer;
begin
assign(t,'aparitiicifra.in');
reset(t);
read(t,n,c);
close(t);
if (n>=2000000000) or (n<=0) or (c>=10) or (c<=0) then exit;
a:=0;
for i:=1 to n do begin
k:=i;
while k<>0 do begin
p:=k mod 10;
k:=k div 10;
if p=c then inc(a);
end;
end;
assign(t,'aparitiicifra.out');
rewrite(t);
write(t,a);
close(t);
end.
Puiutz:
apreciez dar eu am nevoie in c++
Alte întrebări interesante
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Ed. muzicală,
8 ani în urmă
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă