大数阶乘 模板

20180605

/*大数阶乘第一次*/
#include 
using namespace std;
int main() {
	int a[20001];//存放每一位所得的数 
	int temp, digit, n, i, j;
	cin>>n;
	j = 0;
	a[0] = 1;
	digit = 1;
	for(i = 2; i <= n; i++) {
		int num = 0;
		for(j = 0; j < digit; j++) {
			temp = a[j]*i + num;
			a[j] = temp%10;
			num = temp/10;
		}
		while(num) {
			a[digit] = num%10;
			num /= 10;
			digit ++;
		}
	} 
	for(i = digit - 1; i >= 0; i--) {
		cout<

20180606  二刷

/*第二次*/
#include 
using namespace std;
int main() {
	int a[20010];
	int temp, digit, n, i, j;
	cin>>n;
	j = 0;
	a[0] = 1;
	digit = 1;
	for(i = 2; i <= n; i++) {
		int num = 0;
		for(j = 0; j < digit; j++) {
			temp = a[j]*i + num;
			a[j] = temp%10;
			num = temp/10;
		}
		while(num) {
			a[digit] = num%10;
			num /= 10;
			digit ++; 
		}
	}
	for(i = digit - 1; i >= 0; i--) {
		cout<

你可能感兴趣的:(大数阶乘 模板)