#include <stdio.h>
#include <math.h>
#define M 1000001
bool prime[M];
int numFact[M];
int countFact();
int main()
{
register int n;
//freopen("in.txt","r",stdin);
countFact();
while(scanf("%d",&n)&&n)
printf("%d : %d\n",n,numFact[n]);
return 0;
}
int countFact()
{
register int i,j;
for(i=2;i<M;i++)
prime[i]=true;
for(i=2;i<M;i++)
{
if(prime[i])
{
numFact[i]=1;
for(j=i+i;j<M;j=j+i)
{
numFact[j]++;
prime[j]=false;
}
}
}
return 0;
}
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.