Informatică, întrebare adresată de bu1bu, 8 ani în urmă

Doua numere prime impare consecutive se numesc numere prime gemene. Să se afişeze primele n perechi de numere prime gemene. C++ (fara vectori sau ceva de genu) DAU COROANA!!!!!!!!! SI 80 DE PUNCTE!!!!!URGENT CA AM TEST MAINE!!!

Răspunsuri la întrebare

Răspuns de tzmic1
1

Răspuns:

#include <iostream>

#include <cmath>

using namespace std;

// Functie care verifica daca un numar este prim

bool estePrim(int n)

{

   // Daca n este egal cu 2, atunci este prim

   if (n == 2)

       return true;

   // Daca n este egal cu 1 sau este par si diferit de 2, atunci nu este prim

   if (n == 1 || (n % 2 == 0 && n != 2))

       return false;

   // Verificam daca n este divizibil cu orice numar intre 3 si radacina patrata din n

   for (int i = 3; i <= sqrt(n); i += 2)

       if (n % i == 0)

           return false;

   // Daca nu a fost gasit niciun divizor, atunci n este prim

   return true;

}

int main()

{

   // Numarul de perechi de numere prime gemene dorit

   int n;

   cout << "Numarul de perechi de numere prime gemene: ";

   cin >> n;

   // Contorul perechilor de numere prime gemene gasite

   int contor = 0;

   // Numarul curent pe care il verificam

   int numar = 3;

   // Afisam primele n perechi de numere prime gemene

   while (contor < n)

   {

       // Daca numarul curent este prim

       if (estePrim(numar))

       {

           // Daca urmatorul numar este, de asemenea, prim

           if (estePrim(numar + 2))

           {

               // Afisam perechea de numere prime gemene

               cout << numar << " si " << numar + 2 << endl;

               contor++; // Incrementam contorul perechilor de numere prime gemene gasite

           }

       }

       // Verificam urmatorul numar

       numar += 2;

   }

   return 0;

}

În acest cod, funția estePrim utilizează un algoritm cunoscut pentru a verifica dacă un număr este prim sau nu. Apoi, în funcția main, se iterează de la 3 la infinit, verificând dacă fiecare număr este prim. Dacă un număr este prim, se verifică dacă următorul număr este, de asemenea, prim. Dacă ambele numere sunt prime, atunci se afișează perechea de numere prime gemene și se incrementează contorul perechilor de numere prime gemene gasite.


bu1bu: Este ok doar ca am precizat faptul sa nu se foloseasca vectori sau alte lucruri de genul
bu1bu: Nu am invatat functiile
bu1bu: Ai explicat foarte bine dar am nevoie de pb pt scoala
bu1bu: Si nu pot sa predau ceva ce nu am invatat
Alte întrebări interesante