1353 - Aparitii Cifra
De la Universitas MediaWiki
Sursa: [1]
Cerința
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
Exemplu:
aparitiicifra.in
15 1 aparitiicifra.out
8
Explicație
Cifra 1 a apărut în numerele 1, 10, 11 (de două ori), 12, 13, 14, 15.
Solutie
with open("aparitiicifra.in", "r") as f:
n, c = f.readline().split()
c_count = 0
for i in range(1, int(n) + 1):
for digit in str(i):
if digit == c:
c_count += 1
with open("aparitiicifra.out", "w") as f:
f.write(str(c_count))