P1134阶乘问题 为什么会超时啊?60分
查看原帖
P1134阶乘问题 为什么会超时啊?60分
543527
leo888楼主2021/7/22 14:15

求大佬帮助help,十万火急!

#include<bits/stdc++.h>
using namespace std;
int n,a[1000001];
int main(){
	a[0]=1;
    cin>>n;
    if(n==0){
        cout<<1;
        return 0;
    }
    for(int i=1;i<=n;i++){
        for(int j=0;j<=5000;j++){
            a[j]*=i;//暴力乘法 
        }
        for(int j=0;j<=5000;j++){
            a[j+1]+=a[j]/10;//暴力进位 
            a[j]%=10;
        }
    }
    //从个位开始,找到第一个不为0的数 
    for(long long i=1;i<=5000;i++){
    	if(a[i]!=0){
    		cout<<a[i];
    		break;
		}
    }
    return 0;
}
2021/7/22 14:15
加载中...