0434 - Perechi Prime
De la Universitas MediaWiki
Cerinţa
Se dă un număr natural n. Afișați primele n perechi de numere naturale impare consecutive prime.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieşire
Programul afișează pe ecran n primele perechi de numere naturale impare consecutive prime, câte o pereche pe linie, numerele dintr-o pereche fiind separate printr-un spațiu.
Restricții și precizări
- 1 ≤ n ≤ 100
- pentru fiecare pereche p q afișată, p < q
Exemplu
- Intrare
- 5
- Ieșire
- 3 5
- 5 7
- 11 13
- 17 19
- 29 31
Rezolvare
import math
def validare_date(numar):
flag = False
if numar.isdigit():
if 0 <= int(numar) <= 100:
flag = True
return flag
def is_prime(numar):
if numar < 2:
return False
for i in range(2, int(math.sqrt(numar))+1):
if numar % i == 0:
return False
return True
def print_consecutive_primes(n):
count = 0
numar = 3
while count < n:
if is_prime(numar) and is_prime(numar+2):
print(numar, numar+2)
count += 1
numar += 2
def main():
numar = input("Introduceți numărul n: ")
if validare_date(numar):
n = int(numar)
print("\nDatele de intrare corespund restricțiilor impuse.\n")
print("Primele", n, "perechi de numere naturale impare consecutive prime sunt:")
print_consecutive_primes(n)
else:
print("Datele de intrare nu corespund restricțiilor impuse.")
if __name__ == '__main__':
main()