dashuxiangcheng.c

来自「计算大数阶乘,方便处理大于64位整型数值的相乘」· C语言 代码 · 共 22 行

C
22
字号
int factorial(int n)
{
	long a[10000];
	int i,j,c,m=0,w;
	a[0]=1;
	for(i=1;i<=n;i++)
	{
		c=0;
		for(j=0;j<=m;j++)
		{
			a[j]=a[j]*i+c;
			c=a[j]/10000;
			a[j]=a[j]%10000;
		}
		if(c>0) {m++;a[m]=c;}
	}
	w=m*4+log10(a[m])+1;
	printf("%ld",a[m]);
	for(i=m-1;i>=0;i--)printf("%4.4ld",a[i]);
	return w;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?