jzxx1083计算N的阶乘

题目描述
求N!(0<=N<=3000)。

输入
输入一行,为一个整数,即N的值。

输出
输出N!的值。

样例输入
10
样例输出
3628800

满分代码:
#include<bits/stdc++.h>
using namespace std;
int a[10000],x,n;
int main() {
	cin>>n;
	a[1]=1;
	a[0]=1;
	for(int i=1; i<=n; i++) {
		x=0;
		for(int j=1; j<=a[0]; j++) {
			a[j]=a[j]*i+x;
			x=a[j]/10;
			a[j]=a[j]%10;
		}
		while(x) {
			a[0]++;
			a[a[0]]=x%10;
			x/=10;
		}
	}
	for(int i=a[0]; i>=1; i--) {
		cout<<a[i];
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/lyz060510/article/details/83243324