Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int ar[1000001];
- vector<int>v;
- int isPrime(int n)
- {
- if (n < 2) return 0;
- for (int i = 2; i * i <= n; i++)
- {
- if (n % i == 0)
- {
- return 0;
- }
- }
- return 1;
- }
- int main()
- {
- int i,n;
- while (scanf("%d",&n), n)
- {
- ar[0]=ar[1]=0;
- ar[2]=1;
- for(i=4; i<n; i+=2)
- ar[i]=0;
- for(i=3; i<n; i+=2)
- ar[i]=1;
- for (int i = 3; i * i <= n; i += 2)
- if(ar[i]==1)
- for (int j = i * i; j <= n; j += i + i)
- ar[j]=0;
- for(i=0; i<n; i++)
- if(ar[i]!=0)
- v.push_back(i);
- int a,b;
- for (i = 0;; i++)
- {
- a=v[i];
- b = n - a;
- if (isPrime(b))
- {
- printf("%d = %d + %d\n",n,a,b);
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement