1892 - 【C语言训练】计算1977!*

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

编写一个程序,计算1977!的值,

题目输入

题目输出

输入/输出样例

输入格式


                        

输出格式


                        

C++解答

#include<iostream>
#include<algorithm>
using namespace std;
const int N = 10000;
int a[N];

void fact(int n){
	fill(a,a+N,0);
	a[0]=a[1]=1;
	for (int i=1; i<=n; i++)
	{
		for (int j=1; j<=a[0]; j++) a[j]*=i;
		for (int j=1; j<=a[0]; j++)
		{
			a[j+1]+=a[j]/10;
			a[j]%=10;
		}
		while (a[a[0]+1])
		{
			a[0]++;
			a[a[0]+1]=a[a[0]]/10;
			a[a[0]]%=10;
		}
	}
}

void output(int a[]){
	for (int i=a[0]; i>=1; i--) cout<<a[i];
	cout<<endl;
}

int main(){
	fact(1977);
	output(a);
	return 0;
}