您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页hdoj_1042_N!_大數優化_模擬

hdoj_1042_N!_大數優化_模擬

来源:华拓科技网


  
  
話說這題還真的寫不出,沒辦法只能看學習了 這裡的進位可以是5位一進 zzy的是4位一進,原理是一樣的,選的這份還有一個原因是很好的利用了c++的輸出裡面的優勢 iomanip有的時候貌似還是很好用的,zzy: http://blog.163.com/lovejingru@yeah/blog/static/86752478201161424210787/
#include <iostream>
#include <iomanip>
using namespace std;

int main(){
    int a[10000], n, i, j, c;//倒序存儲
    while(cin>>n){
        a[0]=a[1]=1;//a[0]數組大小
        for(i=2; i<=n; i++){
            c=0;//進位
            for(j=1; j<=a[0]; j++){
                a[j]=a[j]*i + c;
                if(a[j]>=100000){
                    c=a[j]/100000;
                    a[j]=a[j]%100000;
                }
                else{
                    c=0;
                }
            }
            if(c!=0){
                a[j]=c;
                a[0]++;
            }
        }
        cout<<a[a[0]];
        cout.fill('0');//補0
        for(i=a[0]-1; i>=1; i--){
            cout<<setw(5)<<a[i];//補位setw
        }
        cout<<endl;
    }
    return 0;
} 

转载于:https://my.oschina.net/dianpaopao/blog/162666

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务