3054 - PrimeXXL
Cerinţa[edit | edit source]
Se dă un număr natural n. Să se afișeze DA dacă numărul este prim altfel se afișează NU.
Date de intrare[edit | edit source]
Fișierul de intrare primexxlin.txt conține pe prima linie numărul n.
Date de ieșire[edit | edit source]
Fișierul de ieșire primexxlout.txt va conține pe prima linie DA sau NU după caz.
Restricţii şi precizări[edit | edit source]
- 1 ≤ nrcif(n) ≤ 1000
Exemplu 1[edit | edit source]
- primexxlin.txt
5
- primexxlout.txt
Datele de intrare corespund restrictiilor impuse DA
Exemplu 2[edit | edit source]
- primexxlin.txt
10000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001
- primexxlout.txt
Datele de intrare nu corespund restrictiilor impuse
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> def is_prime(n):
# Funcția verifică dacă un număr este prim.
if n < 2: return False if n == 2: return True if n % 2 == 0: return False p = 3 while p * p <= n: if n % p == 0: return False p += 2 return True
def main():
with open('primexxlin.txt', 'r') as fin, open('primexxlout.txt', 'w') as fout: n = int(fin.readline().strip())
# Verificăm dacă numărul respectă restricțiile if len(str(n)) > 1000: fout.write("Datele de intrare nu corespund restrictiilor impuse\n") return
fout.write("Datele de intrare corespund restrictiilor impuse\n")
# Verificăm dacă numărul este prim și scriem rezultatul în fișierul de ieșire fout.write('DA\n' if is_prime(n) else 'NU\n')
if __name__ == "__main__":
main()
</syntaxhighlight>