永发信息网

如何用C语言求10000的阶乘 ,, 哪位高手能给点思路

答案:3  悬赏:60  手机版
解决时间 2021-03-07 22:55
  • 提问者网友:两耳就是菩提
  • 2021-03-07 02:14
如何用C语言求10000的阶乘 ,, 哪位高手能给点思路
最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-03-07 02:50
#include"stdio.h"
#include"string.h"
#include
int main()
{
char n[10];
int a[20000]={0},b[20000]={0},c[20000]={0},temp;
int i,j,k,len;
printf("请输入阶乘数:");
scanf("%s",&n);

temp=atoi(n);
b[0]=1;
len=1;
for(i=1;i<=temp;i++)
{
sprintf(n,"%d",i);
for(j=strlen(n)-1;j>=0;j--)
a[strlen(n)-1-j]=n[j]-'0';
for(j=0;j for(k=0;k {
c[j+k]+=b[j]*a[k];
c[j+1+k]+=c[j+k]/10;
c[j+k]%=10; }
if(c[j+k-1]!=0)
len=j+k;
else
len=j+k-1;
for(j=0;j b[j]=c[j];
memset(c,0,sizeof(c));
}
for(i=len-1;i>=0;i--)
printf("%d",b[i]);
printf("\n");
return 0;
}
全部回答
  • 1楼网友:鸽屿
  • 2021-03-07 05:19
sum=1;for(i=1;i<=10000;i++)sum=sum*i;
  • 2楼网友:梦中风几里
  • 2021-03-07 03:40
先定义M,N,I三个变量,赋值为M=10000,N=1,I=1;然后用for循环实现我给出for循环的过程for(I=1,I<=M,I++){N=N*I;}然后输出N就是10000的阶乘了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯