欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

蓝桥题目:B-30、阶乘计算

程序员文章站 2022-06-12 20:53:30
...

蓝桥题目:B-30、阶乘计算

#include <iostream>
#include <cstring>
#define MAX 3000

using namespace std;

int main(){
	int a[MAX], k;
	memset(a, 0, sizeof(a));
	cin >> k;
	a[0] = 1;
	int temp, carrier = 0;
	for(int i = 2; i <= k; ++i){
		for(int j = 0; j < MAX; ++j){
			temp = a[j]*i + carrier;
			a[j] = temp % 10;
			carrier = temp /10;
		}
	}
	
	for(int i = MAX-1; i >= 0; --i){
        if(a[i] != 0){
            for(int j = i; j >= 0; --j){
                cout << a[j];
            }
            break;
        }
    }
	
	return 0;
}