#include<stdio.h>
#include<string.h>
#define max 5005
#define length 3000
int fact[max][length],arr[11];
void fact1()
{
int i,j,rem=0;
fact[0][0]=1;
fact[1][0]=1;
for(i=2;i<max;i++)
{
for(j=0;j<length;j++)
{
fact[i][j]=(fact[i-1][j]*i)+rem;
rem=0;
if(fact[i][j]>9)
{
rem=fact[i][j]/10;
fact[i][j]=fact[i][j]%10;
}
}
}
}
int main()
{
int i,n;
fact1();
while(scanf("%d",&n)==1)
{
if(n==0)
{
break;
}
for(i=length-1;i>=0;i--)
{
if(fact[n][i]!=0)
{
break;
}
}
printf("%d! --\n",n);
for(;i>=0;i--)
{
if(fact[n][i]==0)
{
arr[0]++;
}
else if(fact[n][i]==1)
{
arr[1]++;
}
else if(fact[n][i]==2)
{
arr[2]++;
}
else if(fact[n][i]==3)
{
arr[3]++;
}
else if(fact[n][i]==4)
{
arr[4]++;
}
else if(fact[n][i]==5)
{
arr[5]++;
}
else if(fact[n][i]==6)
{
arr[6]++;
}
else if(fact[n][i]==7)
{
arr[7]++;
}
else if(fact[n][i]==8)
{
arr[8]++;
}
else if(fact[n][i]==9)
{
arr[9]++;
}
}
printf(" (0) %d (1) %d (2) %d (3) %d (4) %d\n",arr[0],arr[1],arr[2],arr[3],arr[4]);
printf(" (5) %d (6) %d (7) %d (8) %d (9) %d\n",arr[5],arr[6],arr[7],arr[8],arr[9]);
memset(arr,0,sizeof(arr));
}
return 0;
}
#include<string.h>
#define max 5005
#define length 3000
int fact[max][length],arr[11];
void fact1()
{
int i,j,rem=0;
fact[0][0]=1;
fact[1][0]=1;
for(i=2;i<max;i++)
{
for(j=0;j<length;j++)
{
fact[i][j]=(fact[i-1][j]*i)+rem;
rem=0;
if(fact[i][j]>9)
{
rem=fact[i][j]/10;
fact[i][j]=fact[i][j]%10;
}
}
}
}
int main()
{
int i,n;
fact1();
while(scanf("%d",&n)==1)
{
if(n==0)
{
break;
}
for(i=length-1;i>=0;i--)
{
if(fact[n][i]!=0)
{
break;
}
}
printf("%d! --\n",n);
for(;i>=0;i--)
{
if(fact[n][i]==0)
{
arr[0]++;
}
else if(fact[n][i]==1)
{
arr[1]++;
}
else if(fact[n][i]==2)
{
arr[2]++;
}
else if(fact[n][i]==3)
{
arr[3]++;
}
else if(fact[n][i]==4)
{
arr[4]++;
}
else if(fact[n][i]==5)
{
arr[5]++;
}
else if(fact[n][i]==6)
{
arr[6]++;
}
else if(fact[n][i]==7)
{
arr[7]++;
}
else if(fact[n][i]==8)
{
arr[8]++;
}
else if(fact[n][i]==9)
{
arr[9]++;
}
}
printf(" (0) %d (1) %d (2) %d (3) %d (4) %d\n",arr[0],arr[1],arr[2],arr[3],arr[4]);
printf(" (5) %d (6) %d (7) %d (8) %d (9) %d\n",arr[5],arr[6],arr[7],arr[8],arr[9]);
memset(arr,0,sizeof(arr));
}
return 0;
}
0 comments: (+add yours?)
Post a Comment