大数阶乘(高精度)

Posted kami_coder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数阶乘(高精度)相关的知识,希望对你有一定的参考价值。

#include <iostream>
using namespace std;


int main()
{
	int n, m, temp;
	//余数remainder 进位carry_bit 
	int remainder=0, carry_bit=0;
	cin>>m;
	int a[10000];
	for(int i=0; i<10000; i++) a[i]=0;
	a[1] = 1;
	for(int n=2; n<=m; n++)
	{
		remainder=0, carry_bit=0;
		for(int i=1; i<10000; i++)
		{
			temp = a[i]*n+carry_bit;
			remainder = temp%10;
			carry_bit = temp/10;
			a[i] = remainder;
		}
	}
	int i=9999;
	while(a[i]==0) i--;i++;
	while(--i!=0) printf("%d", a[i]);
	return 0;
} 

  

以上是关于大数阶乘(高精度)的主要内容,如果未能解决你的问题,请参考以下文章

大数处理--阶乘计算

高精度问题,C语言,求二的n次方

大数阶乘,C语言,数组

NYOJ题目28大数阶乘

大数的阶乘

快速精确 bigint 阶乘