3479 - 2 Ian: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
Line 23: | Line 23: | ||
:Datele de intrare corespund restricțiilor impuse. | :Datele de intrare corespund restricțiilor impuse. | ||
== | ==Explicație== | ||
<math>2^6</math> = 64 și ultima sa cifră este 4. | <math>2^6</math> = 64 și ultima sa cifră este 4. | ||
Latest revision as of 17:53, 22 April 2023
Cerință[edit | edit source]
Se da un număr n. Calculați ultima cifră a lui .
Date de intrare[edit | edit source]
Fișierul de intrare 2lan.in conține pe prima linie numărul n.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse.". Fișierul de ieșire 2lan.out va conține ultima cifra a lui . În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții și precizări[edit | edit source]
0 ≤ n ≤ 100.000
Exemplul 1[edit | edit source]
- 2lan.in
- 6
- 2lan.out
- 4
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
Explicație[edit | edit source]
= 64 și ultima sa cifră este 4.
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="1">
- Funcție pentru validarea valorii n.
def validare(n):
if 0 <= n <= 100000: return True else: return False
- Funcție pentru calcularea ultimei cifre a lui 2^n.
def ultima_cifra_2_la_n(n):
# Ciclicitatea cifrelor la puterile pare ale lui 2 este 2-4-8-6. return pow(2, n % 4 + 4) % 10
if __name__ == '__main__':
# Citirea valorii n din fișierul de intrare. with open('2lan.in', 'r') as fin: n = int(fin.readline().strip())
# Validarea valorii n. if not validare(n): print("Datele de intrare nu corespund restricțiilor impuse.") else: print("Datele de intrare corespund restricțiilor impuse.")
# Calcularea și scrierea rezultatului în fișierul de ieșire. result = ultima_cifra_2_la_n(n) with open('2lan.out', 'w') as fout: fout.write(str(result))
</syntaxhighlight>