Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define maX 10005
- bool marked[maX];
- vector<int>p;
- void sieve()
- {
- for(int i=3;i*i<=maX;i+=2)
- {
- if(marked[i]==false)
- {
- for(int j=i*i;j<=maX;j+=i+i)
- {
- marked[j]=true;
- }
- }
- }
- p.push_back(2);
- for(int i=3;i<=100;i+=2)
- {
- if(marked[i]==false)
- {
- p.push_back(i);
- }
- }
- }
- int main()
- {
- sieve();
- int t,c,n;
- cin>>t;
- for(c=1; c<=t; c++)
- {
- cin>>n;
- cout<<"Case "<<c<<": "<<n<<" = ";
- int i,j,k,l,q,fre;
- for(i=0; i<25&& p[i]<=n; i++)
- {
- k=n;
- fre=0;
- while(k/p[i])
- {
- fre+=(k/p[i]);
- k=k/p[i];
- }
- if(i==0)
- {
- cout<<p[i]<< " ("<<fre<<")";
- }
- else
- {
- cout<<" * "<<p[i]<< " ("<<fre<<")";
- }
- }
- cout<<"\n";
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment