0348 - Afisare Puteri: Difference between revisions
Paul Ungur (talk | contribs) |
Paul Ungur (talk | contribs) No edit summary |
||
| Line 28: | Line 28: | ||
return False | return False | ||
return True | return True | ||
def rezolvare(n, p): | def rezolvare(n, p): | ||
| Line 35: | Line 36: | ||
i += 1 | i += 1 | ||
if __name__ == "__main__": | |||
n = int(input("Introduceti n: ")) | n = int(input("Introduceti n: ")) | ||
p = int(input("Introduceti p: ")) | p = int(input("Introduceti p: ")) | ||
| Line 42: | Line 44: | ||
else: | else: | ||
print("Date de intrare invalide") | print("Date de intrare invalide") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 15:53, 26 April 2023
Cerinţa:
Se dau două numere naturale nenule n și p. Afișați în ordine crescătoare puterile lui n mai mici sau egale cu p .
Date de intrare:
Programul citește de la tastatură numerele n și p .
Date de ieşire:
Programul afișează pe ecran, în ordine crescătoare, puterile lui n mai mici sau egale cu p , separate prin câte un spațiu.
Restricţii şi precizări:
2 ≤ n ≤ 10 1 ≤ p < 1.000.000.000
Exemplu:
Date de intrare 3 100
Date de ieșire 1 3 9 27 81
Rezolvare
<syntaxhighlight lang="python" line="1"> def validare(n, p):
if not isinstance(n, int) or not isinstance(p, int):
return False
if n <= 1 or p <= 0 or p >= 1000000000:
return False
return True
def rezolvare(n, p):
i = 0
while n ** i <= p:
print(n ** i, end=' ')
i += 1
if __name__ == "__main__":
n = int(input("Introduceti n: "))
p = int(input("Introduceti p: "))
if validare(n, p):
rezolvare(n, p)
else:
print("Date de intrare invalide")
</syntaxhighlight>