1172:求10000以內n的階乘


傳送門:http://ybt.ssoier.cn:8088/problem_show.php?pid=1172

 

 

【題目描述】

求10000以內n的階乘。

【輸入】

只有一行輸入,整數n(0≤n≤10000)。

【輸出】

一行,即n!的值。

【輸入樣例】

4

【輸出樣例】

24



直接乘去就OK了


#include<iostream>
#include<cstring>
#define N 100010
using namespace std;
int n,a[N],lena=1;
int main(){
    cin>>n;
    a[0]=1;
    for(int k=2;k<=n;k++){
        for(int i=0;i<lena;i++)a[i]*=k;
        for(int i=0;i<lena;i++){
            if(a[i]>9){
                a[i+1]+=a[i]/10;
                a[i]%=10;
                if(i==lena-1)lena++;
            }
        }
    }
    for(int i=lena-1;i>=0;i--)cout<<a[i];
    cout<<endl;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM