大数阶乘

#include <iostream>
using namespace std;

int main()
{	
	int num;
	cin>>num;
	int site=0;
	int k=0;
	int temp=0;
	int re[16350]={1,0};
	for(int i=1;i<=num;++i)
	{
		for(int j=0;j<=site;++j)
			re[j]*=i;	
		temp=re[site];
		while(temp/10)
		{
			temp/=10;
			site++;
		}
		for(k=0;k<site;++k)
		{
			re[k+1]+=re[k]/10;
			re[k]%=10;
		}		
	}
	for(int i=site;i>=0;--i)
		cout<<re[i];
	cout<<endl;
	num=0;	
	return 0;
}

  

原文地址:https://www.cnblogs.com/xd-jinjian/p/3332463.html