不知道有沒有OP
#include<stdio.h>
#include<conio.h>
int main()
{
printf("輸入一整數算階乘(n<999)\n");
int a,j,N;
scanf("%d",&N);
int num[1000]={0};
bool head=true;
num[0]=1;
for(j=1;j<=N;j++)
{
int i=0,can=0;
do
{
num[i]*=j;
num[i]+=can;
can=num[i]/10000;
num[i]=num[i]%10000;
i+=1;
}while(i<=1000);
}
for(j=999;j>=0;j--)
{
if(num[j]!=0)head=false;
if((num[j]==0)&&(head==false)){printf("0000");}
else if(num[j]/1000==0&&(head==false)){printf("0%d",num[j]);}
else if(num[j]/100==0&&(head==false)){printf("00%d",num[j]);}
else if(num[j]/10==0&&(head==false)){printf("000%d",num[j]);}
else if(head==false)printf("%d",num[j]);
}
getch();
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.12.210