3497 - Progresie Geom
Cerința[edit | edit source]
Se dă o progresie geometrică cu primul termen x
, cu rația egală cu , unde [p]
reprezintă partea întreagă a numărului real p
. Afișați al n
-lea termen.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele x a b n
.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran numărul Z
, reprezentând al n
-lea termen al progresiei.
Restricții și precizări[edit | edit source]
x, a, b
au maximum10.000
de cifren
este cel mult10.000
Exemplul 1[edit | edit source]
Input:
1 5 2 11
Output:
1024
Exemplul 2[edit | edit source]
Input:
1 5 2 9999999999
Output:
Input invalid. Asigurați-vă că x, a, b au cel mult 10.000 de cifre și n este cel mult 10.000.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python3" line="1"> import math
def verify_input(x, a, b, n):
if len(str(x)) > 10000 or len(str(a)) > 10000 or len(str(b)) > 10000 or n > 10000: return False return True
def main():
x = int(input("Introduceți primul termen x: ")) a = int(input("Introduceți a: ")) b = int(input("Introduceți b: ")) n = int(input("Introduceți n: "))
if not verify_input(x, a, b, n): print("Input invalid. Asigurați-vă că x, a, b au cel mult 10.000 de cifre și n este cel mult 10.000.") return
# Calcularea [ab] ratio = a // b
# Calcularea al n-lea termen al progresiei result = x * (ratio ** (n - 1))
print(result)
if __name__ == "__main__":
main()
</syntaxhighlight>