cpp

A06.15 阶乘和

a. 参考代码

#include <iostream>
using namespace std;

int ans[100];
int p[100];

int main(){
    int n,len=1;
    cin >> n;
    p[0]=1,ans[0]=1;
    for(int i=2;i<=n;i++){
        int more=0;
        for(int j=0;j<len;j++){
            int tmp = p[j]*i;
            int r =  (tmp + more) / 10;
            p[j] = (tmp + more) % 10;
            more = r; 
        }
        while(more>0){
            p[len++] = more % 10;
            more = more / 10;
        }
        more = 0;
        for(int j=0;j<=len;j++){
            int tmp = ans[j]+p[j]+more; 
            ans[j] = tmp % 10;
            more = tmp / 10;
        }
    }
    for(int i=len-1;i>=0;i--)
        cout << ans[i];
    cout << endl;       
    
    return 0;
}

u. 相关链接

  1. H5计算机应用能力培养 =>https://daweizh.github.io/h5/
  2. CPP编程基础 =>https://daweizh.github.io/cpp/
  3. NOIP真题训练营 =>https://daweizh.github.io/noip/
  4. Everyday English =>https://daweizh.github.io/ee/

w. 微信订阅号

  1. 智数精英-关注中小学程序设计及相关讨论
  2. 随话录-记录小朋友们的成长时光
  3. 西山征途-关注大学生成长、学习和生活

欢迎关注“智数精英”订阅号 欢迎关注“随话录”订阅号 欢迎关注“西山征途”订阅号


b. 返回

h. 首页