Advertisement
Farjana_akter

Untitled

Mar 16th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define x 1000000
  3. using namespace std;
  4.  
  5.  
  6. bool mark[x+5];
  7. long long int isprime[x],k=0;
  8. void sieve()
  9. {
  10. int i,j;
  11. memset(mark,false,sizeof(mark));
  12. mark[0]=true;
  13. mark[1]=true;
  14. for(i=2;i*i<=x;i++)
  15. {
  16. if(mark[i]==false)
  17. {
  18. for(j=i*i;j<=x;j+=i)
  19. mark[j]=true;
  20. }
  21. }
  22. for(i=2;i<=x;i++){
  23. if(mark[i]==false)
  24. {
  25. isprime[k++]=i;
  26. }
  27. }
  28. }
  29. int main()
  30. {
  31. sieve();
  32. long long int n,i,j;
  33. while(scanf("%lld",&n) && n!=-1)
  34. {
  35. if(n<0)
  36. break;
  37.  
  38. for(i=0;i<k;i++)
  39. {
  40. if(n%isprime[i]==0)
  41. {
  42. while(n%isprime[i]==0)
  43. {
  44. cout<<" "<<isprime[i]<<endl;
  45. n/=isprime[i];
  46. }
  47. }
  48.  
  49. }
  50. if(n!=1)
  51. cout<<" "<<n<<endl;
  52. cout<<endl;
  53. }
  54. return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement