231
Cerința
Se dă un număr natural n, par, mai mare decat 2. Scrieţi-l pe n ca sumă de 2 numere prime în toate modurile posibile.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa perechile p q de numere prime, în ordine crescătoare după q, câte o pereche pe fiecare rând.
Restricții și precizări
2 ≤ n < 11.111.111n % 2 = 0
Exemplu
Intrare
98
Ieșire
19 79 31 67 37 61 61 37 67 31 79 19
Explicație
Perechile sunt : 19 79, 31 67, 37 61, 61 37, 67 31, 79 19.
#include <bits/stdc++.h>
using namespace std;
#define NN 11111111
int v[NN + 1];
int main()
{
int n;
cin >> n;
v[0] = v[1] = 1;
for(int i = 2 ; i * i <= n ; i ++)
if(v[i] == 0)
for(int j = 2 ; i * j <= n ; j ++)
v[i * j] = 1;
for(int i = 2 ; i <= n - 2 ; i ++)
if(v[i] == 0 && v[n-i] == 0)
cout << i << " " << n - i <<endl;
return 0;
}
Comentarii