Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. bool isprime[10000005];
  5. vector<int> prime;
  6.  
  7. void sieve(int n){
  8.  
  9. isprime[1] = true;
  10.  
  11. for(int i = 2; i * i <= n; i++){
  12. if(isprime[i] == false){
  13. for(int j = i + i; j <= n; j += i){
  14. isprime[j]=true;
  15. }
  16. }
  17. }
  18.  
  19. for(int i = 2; i <= n; i++){
  20. if(isprime[i]==false){
  21. prime.push_back(i);
  22. }
  23. }
  24.  
  25. }
  26.  
  27. int main()
  28. {
  29. int n;
  30. // cout<<"LL"<<endl;
  31. sieve(1000000);
  32. // cout<<"RR"<<endl;
  33. int len = prime.size();
  34.  
  35. while(1){
  36. scanf("%d",&n);
  37. if(n==0){
  38. break;
  39. }
  40.  
  41. int flag = 0, l , r;
  42. for(int i = 0; i < len && prime[i] <= n / 2; i++){
  43. if( !isprime[n - prime[i]] ){
  44. l = prime[i], r = n - prime[i];
  45. flag = 1;
  46. break;
  47. }
  48. }
  49.  
  50. printf("%d:\n", n);
  51. if(flag==1){
  52. printf("%d+%d\n",l,r);
  53. }
  54. else{
  55. printf("NO WAY!\n");
  56. }
  57. }
  58.  
  59. return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement