九度 1076 N的階乘(模擬)

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
int s[10010];
int main()
{
    int n,m,i,t;
    while(~scanf("%d",&n)){
        memset(s,0,sizeof(s));
        s[0]=1;
        for(i=1,m=0;i<=n;++i){
            for(int j=t=0;j<=m;++j){
                s[j]=s[j]*i+t;
                t=s[j]/10; 
                s[j]%=10;
                if(t>0&&j==m){
                    m++;
                }
            }
        }
        for(i=m;i>=0;--i){
            printf("%d",s[i]);
        }
        printf("\n");
    }
    return 0;
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章