Informatică, întrebare adresată de cleopatraebestie, 9 ani în urmă

Se citeste un numar natural par n. Sa se scrie n ca suma de doua numere prime in toate modurile posibile.Rog seriozitate!


Razzvy: restrictii pentru n?

Răspunsuri la întrebare

Răspuns de Razzvy
0
#include <iostream>
using namespace std;

bool prim(int n)
{
   int d;
   if(n < 2 || n % 2 == 0 && n != 2) return false;
   /*else*/ for(d = 3; d * d <= n; ++d)
      if(n % d == 0) return false;
   return true;
}

int main()
{
   int n, i;
   cin>>n;
   for(int i = 3; i < n / 2; i += 2)
   {
      if(prim(i))
      {
         if(prim(n - i))
         {
            cout<<i<<' '<<n - i<<'\n';
            cout<<n - i<<' '<<i<<'\n';
         }
      }
   }
   if(prim(n / 2)) cout<<n / 2<<' '<<n / 2;  //L-am pus separat pentru ca mi l-ar fi afisat de doua ori; de exemplu pentru 4, ar fi afisat 2 si (4 - 2), apoi (4 - 2) si 2, care e acelasi lucru
}

Razzvy: Spune-mi daca nu intelegi ceva
Alte întrebări interesante