2747 - Log: Difference between revisions
Paul Ungur (talk | contribs) |
Paul Ungur (talk | contribs) No edit summary |
||
Line 22: | Line 22: | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
def | def validare_date(n, m): | ||
if not (1 <= n <= 1000000) or not (1 <= m <= 1000000): | if not (1 <= n <= 1000000) or not (1 <= m <= 1000000): | ||
print("n și m trebuie să fie între 1 și 1.000.000.") | print("n și m trebuie să fie între 1 și 1.000.000.") | ||
Line 38: | Line 37: | ||
def compute_exponent(n, m): | def compute_exponent(n, m): | ||
#Determină exponentul la care trebuie ridicat n pentru a obține m. | #Determină exponentul la care trebuie ridicat n pentru a obține m. | ||
exponent = | exponent = 1 | ||
while m > n: | while m > n: | ||
m //= n | m //= n | ||
exponent += 1 | exponent += 1 | ||
print(f"Exponentul la care trebuie ridicat {n} pentru a obține {m} este: {exponent}") | |||
if __name__ == "__main__": | |||
# Citire input și validare | # Citire input și validare | ||
n, m = map(int, input("Introduceți n și m, separate prin spațiu: ").split()) | n, m = map(int, input("Introduceți n și m, separate prin spațiu: ").split()) | ||
while not | if validare_date(n, m): | ||
exponent = compute_exponent(n, m) | |||
else: | |||
while not validare_date(n, m): | |||
n, m = map(int, input("Introduceți n și m, separate prin spațiu: ").split()) | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 15:51, 26 April 2023
Cerința
Se dau numerele n și m. Să se determine exponentul la care se ridică n pentru a obține m.
Date de intrare
Programul citește de la tastatură numerele n și m, separate prin spații.
Date de ieșire
Programul va afișa pe ecran exponentul la care se ridică n pentru a obține m.
Restricții și precizări
1 ≤ n , m ≤ 1.000.000 n ≠ 1 se garantează ca m este putere a lui n</span.
Exemplu:
Intrare 2 4
Ieșire 2
Rezolvare
<syntaxhighlight lang="python" line="1"> def validare_date(n, m):
if not (1 <= n <= 1000000) or not (1 <= m <= 1000000): print("n și m trebuie să fie între 1 și 1.000.000.") return False if n == 1: print("n trebuie să fie diferit de 1.") return False if m % n != 0: print("m trebuie să fie putere a lui n.") return False return True
def compute_exponent(n, m):
#Determină exponentul la care trebuie ridicat n pentru a obține m. exponent = 1 while m > n: m //= n exponent += 1 print(f"Exponentul la care trebuie ridicat {n} pentru a obține {m} este: {exponent}")
if __name__ == "__main__":
# Citire input și validare n, m = map(int, input("Introduceți n și m, separate prin spațiu: ").split()) if validare_date(n, m): exponent = compute_exponent(n, m) else: while not validare_date(n, m): n, m = map(int, input("Introduceți n și m, separate prin spațiu: ").split())
</syntaxhighlight>