基础训练 阶乘计算

阶乘计算

自己写的超时了,这里直接贴出别人的代码了

#include<iostream>
#include<string.h>
using namespace std;
int main(){
    int n,s,r=0,a[10005];
    cin>>n;
    memset(a,0,sizeof(a));
    a[0]=1;
    for(int i=1;i<=n;i++){
        for(int j=0;j<10001;j++){
            s=a[j]*i+r;
            a[j]=s%10;
            r=s/10;
        }
    }
     for(int i=10000;i>=0;i--){
        if(a[i]!=0){
            for(int j=i;j>=0;j--){
                cout<<a[j];
            }
            break;
        }
    }
    cout<<endl;
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/A-Little-Nut/p/10328140.html