1353 - Aparitii Cifra: Difference between revisions
Pop Giulia (talk | contribs) Pagină nouă: ==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 <... |
Pop Giulia (talk | contribs) No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
Sursa: [https://www.pbinfo.ro/probleme/1353/aparitiicifra] | |||
==Cerința== | ==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. | Determinaţi numărul de apariţii a unei cifre c în reprezentarea tuturor numerelor mai mici sau egale cu un n dat. | ||
Line 22: | Line 24: | ||
==Solutie== | ==Solutie== | ||
<syntaxhighlight lang="python" line> | |||
with open("aparitiicifra.in", "r") as f: | with open("aparitiicifra.in", "r") as f: | ||
n, c = f.readline().split() | n, c = f.readline().split() | ||
Line 32: | Line 35: | ||
with open("aparitiicifra.out", "w") as f: | with open("aparitiicifra.out", "w") as f: | ||
f.write(str(c_count)) | f.write(str(c_count)) | ||
</syntaxhighlight> |
Latest revision as of 12:59, 20 May 2023
Sursa: [1]
Cerința[edit | edit source]
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[edit | edit source]
Pe prima linie a fişierului aparitiicifra.in se află numerele n şi c separate prin spaţii.
Date de ieșire[edit | edit source]
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[edit | edit source]
0 < n < 2.000.000.000 0 < c < 10
Exemplu:[edit | edit source]
aparitiicifra.in
15 1 aparitiicifra.out
8
Explicație[edit | edit source]
Cifra 1 a apărut în numerele 1, 10, 11 (de două ori), 12, 13, 14, 15.
Solutie[edit | edit source]
<syntaxhighlight lang="python" line> 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))
</syntaxhighlight>