3977 - Expo N: Difference between revisions
Dragos1234 (talk | contribs) |
Nagy Lenard (talk | contribs) No edit summary |
||
Line 29: | Line 29: | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
#3977 | #3977 | ||
def validare(n): | |||
return 1 <= n <= 2000000000 | |||
def exponent_maxim(n): | def exponent_maxim(n): | ||
e = 0 | e = 0 | ||
Line 38: | Line 41: | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = int(input("Introduceți numărul n: ")) | n = int(input("Introduceți numărul n: ")) | ||
if n | if validare(n) is True: | ||
print(" | print("Datele de intrare corespund restrictiilor impuse", exponent_maxim(n)) | ||
else: | else: | ||
print(" | print("Datele de intrare nu corespund restrictiilor impuse") | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 21:52, 26 March 2023
Sursa: [1]
Cerinţa
Se citește numărul natural n. Să se determine exponentul maxim e cu proprietatea că 2^e ≤ n.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa valoarea cerută. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse.
Restricţii şi precizări
- 1 ⩽ n ⩽ 2.000.000.000
Exemplul 1
- Intrare
- Introduceți numărul n: 40
- Ieșire
- Exponentul maxim este: 5
Exemplul 2
- Intrare
- Introduceți numărul n: 20000000000000000000000000000
- Ieșire
- Eroare: n trebuie să fie între 1 și 2.000.000.000
Rezolvare
<syntaxhighlight lang="python" line>
- 3977
def validare(n):
return 1 <= n <= 2000000000
def exponent_maxim(n):
e = 0 while 2**e <= n: e += 1 return e-1
if __name__ == '__main__':
n = int(input("Introduceți numărul n: ")) if validare(n) is True: print("Datele de intrare corespund restrictiilor impuse", exponent_maxim(n)) else: print("Datele de intrare nu corespund restrictiilor impuse")
</syntaxhighlight>