0080 - Numarare Perechi Prime Intre Ele
Cerinţa[edit | edit source]
Se dau numere naturale de la tastatură până la apariția lui zero. Să se determine câte perechi de numere citite consecutiv sunt prime între ele.
Date de intrare[edit | edit source]
Programul citește de la tastatură numere naturale. Citirea se încheie la introducerea valorii 0.
Date de ieşire[edit | edit source]
Programul afișează pe ecran numărul numar_perechi_prime, reprezentând numărul de perechi citite care respectă condiția cerută.
Restricții și precizări[edit | edit source]
- n ∈ Ν
- numerele citite aparțin intervalului [0 ; 1.000.000.000)
- valoarea zero, care încheie citirile, nu se va prelucra
Exemplu1[edit | edit source]
- Intrare
- 15 63 43 129 55 15 4 0
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 3
Explicație[edit | edit source]
Perechile care respectă condiția cerută sunt: (63,43), (129,55), (15,4).
Exemplu2[edit | edit source]
- Intrare
- 2 9 6 15 12 21 24 0
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 1
Explicație[edit | edit source]
Perechile care respectă condiția cerută sunt: (2,9).
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> def validare_date(n):
flag = all(isinstance(x, int) and 0 <= x < 1_000_000_000 for x in n) return flag
def prim(numar1, numar2):
rest = 0 while numar2: rest = numar1 % numar2 numar1 = numar2 numar2 = rest if numar1 == 1: return 1 else: return 0
if __name__ == '__main__':
n = list(map(int, input().split())) numar_perechi_prime = 0 if validare_date(n): print("\nDatele de intrare corespund restricțiilor impuse.\n") for i in range(1, len(n)): if prim(n[i - 1], n[i]): numar_perechi_prime += 1 print(numar_perechi_prime) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>
Explicație[edit | edit source]
Programul primește o listă de numere și verifică dacă numerele sunt întregi și sunt cuprinse între 0 și 1 miliard. Apoi, calculează numărul de perechi de numere din listă care sunt prime între ele și afișează rezultatul. Funcția prim() este utilizată pentru a verifica dacă două numere sunt prime între ele.