Advertisement
Guest User

pr

a guest
May 27th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int ar[1000001];
  4. vector<int>v;
  5. int isPrime(int n)
  6. {
  7. if (n < 2) return 0;
  8. for (int i = 2; i * i <= n; i++)
  9. {
  10. if (n % i == 0)
  11. {
  12. return 0;
  13. }
  14. }
  15. return 1;
  16. }
  17. int main()
  18. {
  19. int i,n;
  20. while (scanf("%d",&n), n)
  21. {
  22. ar[0]=ar[1]=0;
  23. ar[2]=1;
  24. for(i=4; i<n; i+=2)
  25. ar[i]=0;
  26. for(i=3; i<n; i+=2)
  27. ar[i]=1;
  28. for (int i = 3; i * i <= n; i += 2)
  29. if(ar[i]==1)
  30. for (int j = i * i; j <= n; j += i + i)
  31. ar[j]=0;
  32. for(i=0; i<n; i++)
  33. if(ar[i]!=0)
  34. v.push_back(i);
  35.  
  36. int a,b;
  37. for (i = 0;; i++)
  38. {
  39. a=v[i];
  40. b = n - a;
  41. if (isPrime(b))
  42. {
  43. printf("%d = %d + %d\n",n,a,b);
  44. break;
  45. }
  46. }
  47. }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement