Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- bool mark[100000]={false};
- int isprime[100000];
- int primefac[100000];
- void sieve()
- {
- mark[0]=false;
- mark[1]=false;
- for(int i=2;i<=110;i++)
- mark[i]=true;
- for(int i=2;i*i<=110;i++)
- {
- if(mark[i]==true)
- {
- for(int j=i*i;j<=110;j+=i)
- mark[j]=false;
- }
- }
- int k=0;
- for(int i=2;i<=110;i++)
- {
- if(mark[i]==true)
- isprime[k++]=i;
- }
- }
- int main()
- {
- int n,k,i,j,l,a,b,c,cnt=0;
- sieve();
- while(cin>>n && n)
- {
- l=1;
- for(i=0;isprime[i]<=n;i++)
- {
- cnt=0;
- a=isprime[i];
- for(j=1;j<=n;j++)
- {
- b=j;
- while(b%a==0)
- {
- cnt++;
- b/=a;
- }
- }
- primefac[l]=cnt;
- l++;
- }
- l=l-1;
- printf("%3d! =",n);
- if(l>15)
- {
- for(i=1;i<=15;i++)
- {
- printf("%3d",primefac[i]);
- }
- printf("\n");
- printf(" ");
- for(i=16;i<=l;i++)
- {
- printf("%3d",primefac[i]);
- }
- printf("\n");
- }
- else
- {
- for(i=1;i<=l;i++)
- {
- printf("%3d",primefac[i]);
- }
- printf("\n");
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement