3054 - PrimeXXL
Cerinţa
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
Fișierul de intrare primexxlin.txt conține pe prima linie numărul n.
Date de ieșire
Fișierul de ieșire primexxlout.txt va conține pe prima linie DA sau NU după caz.
Restricţii şi precizări
- 1 ≤ nrcif(n) ≤ 1000
Exemplu 1
- primexxlin.txt
5
- primexxlout.txt
Datele de intrare corespund restrictiilor impuse DA
Exemplu 2
- primexxlin.txt
10000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001
- primexxlout.txt
Datele de intrare nu corespund restrictiilor impuse
Rezolvare
<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>