0434 - Perechi Prime

From Bitnami MediaWiki
Revision as of 16:04, 18 March 2023 by Paul Matei (talk | contribs) (Pagină nouă: == 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 pe...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

<syntaxhighlight lang="python" line> 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()

</syntaxhighlight>