0348 - Afisare Puteri: Difference between revisions
Paul Ungur (talk | contribs) |
Paul Ungur (talk | contribs) |
||
Line 22: | Line 22: | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
n | def validare(n, p): | ||
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): | |||
while | i = 0 | ||
while n ** i <= p: | |||
print(n ** i, end=' ') | |||
i += 1 | |||
def main(): | |||
n = int(input("Introduceti n: ")) | |||
p = int(input("Introduceti p: ")) | |||
if validare(n, p): | |||
rezolvare(n, p) | |||
else: | |||
print("Date de intrare invalide") | |||
if __name__ == "__main__": | |||
main() | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 15:24, 24 March 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
def main():
n = int(input("Introduceti n: ")) p = int(input("Introduceti p: ")) if validare(n, p): rezolvare(n, p) else: print("Date de intrare invalide")
if __name__ == "__main__":
main()
</syntaxhighlight>