大きい数の階数を求めます

441 ワード

#include 
#define N 10000
int main()
{
	static int r[N]={1}; 
	int i,j;
	int k=0,l=0;
	for(i=1;i<=50;i++)
	{		
		for(j=0;j<=l;j++)
		{			
			r[j]=r[j]*i+k;			
			k=r[j]/10000;
			r[j]=r[j]%10000;			
		}
		if(k)
		{
			l++;
			r[j]=k;
			k=0;
		}
		j=l;
		printf("%d!=%d",i,r[j--]);
		for(;j>=0;j--)
		{
			printf("%04d",r[j]);
		}
		printf("
"); } return 0; }