Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cmath>
- #include<vector>
- using namespace std;
- bool seive[9999999];
- void primeFactor(int n);
- void prime(int n);
- int main()
- {
- int n;
- while(1)
- {
- scanf("%d", &n);
- prime(n);
- primeFactor(n);
- }
- //for(int i=2;i<n;i++)
- // if(!seive[i]) printf("%d\n", i);
- return 0;
- }
- void primeFactor(int n)
- {
- int x;
- vector<int>pFact;
- for(int i=2;i<=(int)sqrt(n);i++)
- {
- if(!seive[i])
- {
- if(n%i==0)
- {
- pFact.push_back(i);
- n/=i;
- while(!(n%i))
- {
- pFact.push_back(i);
- n/=i;
- }
- }
- }
- }
- if(n>1) pFact.push_back(n);
- for(auto&i:pFact)cout<<i<<endl;
- }
- void prime(int n)
- {
- int j;
- seive[0]=seive[1]=1;
- for(int i=4;i<n;i+=2) seive[i]=1;
- for(int i=3;i<=(int)sqrt(n);i+=2)
- {
- if(!seive[i])
- for(j=i*i;j<n;j+=i) seive[j]=1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement