N求大数阶乘!

#include<cstdio>
#include<iostream>
int s1[100005];//不知道为什么数组定义在外面运行就会非常慢,定义在main里面就运行的快多了。 
using namespace std;
int main()
{

	int a;
	//scanf("%d",&a);
	cin>>a;
	int temp;
	int digit=1;
	int num=0;
	
	s1[0]=1;
	for(int i=2;i<=a;i++)
	{
		num=0;
		for(int j=0;j<digit;j++)
		{
			temp=s1[j]*i+num;
			s1[j]=temp%10;
			num=temp/10;
		}		
		
		while(num)
		{
			s1[digit]=num%10;
			num/=10;
			digit++;
		}
	}
	for(int i=digit-1;i>=0;i--)
	{
		printf("%d",s1[i]);
	}
} 

阅读更多
上一篇dijkstra最短路算法模板(双源)
下一篇N阶乘的位数(斯特林公式)
想对作者说点什么? 我来说一句

【C#】求大数阶乘_算法_C#

2009年02月24日 72KB 下载

没有更多推荐了,返回首页

关闭
关闭