0465 - Ogl PP: Difference between revisions
Pop Giulia (talk | contribs) Pagină nouă: =Cerinţa== Se dau 2 numere naturale a b, a < b. Determinați câte numere din intervalul [a,b] sunt pătrate perfecte și au proprietatea că oglinditul lor este pătrat perfect. ==Date de intrare== Programul citește de la tastatură numerele a b. ==Date de ieşire== Programul afișează pe ecran numărul C, reprezentând valoarea căutată. ==Restricţii şi precizări== 1 ≤ a < b ≤ 1.000.000.000 ==Exemplu:== Intrare 100 500 Ieșire 7 ==Explicație== Numerele sunt... |
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/465/oglpp] | |||
=Cerinţa== | =Cerinţa== | ||
Se dau 2 numere naturale a b, a < b. Determinați câte numere din intervalul [a,b] sunt pătrate perfecte și au proprietatea că oglinditul lor este pătrat perfect. | Se dau 2 numere naturale a b, a < b. Determinați câte numere din intervalul [a,b] sunt pătrate perfecte și au proprietatea că oglinditul lor este pătrat perfect. | ||
Line 20: | Line 22: | ||
Numerele sunt 100 121 144 169 400 441 484. | Numerele sunt 100 121 144 169 400 441 484. | ||
==Solutie== | ==Solutie== | ||
<syntaxhighlight lang="python" line> | |||
def is_square(n): | def is_square(n): | ||
"""Verifică dacă n este pătrat perfect.""" | """Verifică dacă n este pătrat perfect.""" | ||
Line 40: | Line 43: | ||
print(count) | print(count) | ||
</syntaxhighlight> |
Latest revision as of 12:55, 20 May 2023
Sursa: [1]
Cerinţa=[edit | edit source]
Se dau 2 numere naturale a b, a < b. Determinați câte numere din intervalul [a,b] sunt pătrate perfecte și au proprietatea că oglinditul lor este pătrat perfect.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele a b.
Date de ieşire[edit | edit source]
Programul afișează pe ecran numărul C, reprezentând valoarea căutată.
Restricţii şi precizări[edit | edit source]
1 ≤ a < b ≤ 1.000.000.000
Exemplu:[edit | edit source]
Intrare
100 500 Ieșire
7
Explicație[edit | edit source]
Numerele sunt 100 121 144 169 400 441 484.
Solutie[edit | edit source]
<syntaxhighlight lang="python" line> def is_square(n):
"""Verifică dacă n este pătrat perfect.""" return int(n ** 0.5) ** 2 == n
def reverse_digits(n):
"""Inversează cifrele unui număr.""" rev = 0 while n > 0: rev = 10 * rev + n % 10 n //= 10 return rev
a, b = map(int, input().split())
count = 0 for num in range(a, b + 1):
if is_square(num) and is_square(reverse_digits(num)): count += 1
print(count) </syntaxhighlight>