2699 - Puterile Lui N
Date de intrare
Programul citește de la tastatură numerele n, și p, separate prin spații.
Date de ieșire
Programul va afișa pe ecran în ordine crescătoare, toate puterile lui n mai mici sau egale cu p, separate prin exact un spațiu.
Restricții și precizări 2 ≤ n ≤ 10 1 ≤ p ≤ 1.000.000.000.000
Exemplu: Intrare
4 120 Ieșire
1 4 16 64
Rezolvare
<syntaxhighlight lang="python" line="1"> def validate_input(n: int, p: int) -> bool:
""" Functia de validare pentru input. Verifica daca n este intre 2 si 10 si daca p este intre 1 si 1.000.000.000.000. """ if not (2 <= n <= 10): print("n trebuie sa fie intre 2 si 10.") return False if not (1 <= p <= 10**12): print("p trebuie sa fie intre 1 si 1.000.000.000.000.") return False return True
def powers_of_n(n: int, p: int) -> str:
""" Functia de rezolvare pentru exercitiul dat. Returneaza un string cu toate puterile lui n mai mici sau egale cu p, separate prin exact un spatiu. """ powers = [] i = 0 while n ** i <= p: powers.append(n ** i) i += 1 return ' '.join(map(str, powers))
def main() -> None:
""" Functia main care citeste datele de intrare, verifica validitatea lor si afiseaza rezultatul. """ n, p = map(int, input().split()) if validate_input(n, p): print(powers_of_n(n, p))
if __name__ == '__main__':
main()
</syntaxhighlight>