zoukankan      html  css  js  c++  java
  • 7-13 求阶乘序列前N项和

    本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。

    输入格式: 输入在一行中给出一个不超过12的正整数N。

    输出格式: 在一行中输出整数结果。

    输入样例: 5

    输出样例: 153

    代码:

    #include <iostream>
    using namespace std;

    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    int dfs(int a)
    {
    int x=0;
    if(a==0||a==1)
      return 1;
    else x=a*dfs(a-1);/
     return x;
    }
    int main(int argc, char** argv) {
    int a,sum=0;
    cin>>a;
    for(int i=1;i<=a;i++)
      sum+=dfs(i);
    cout<<sum;
    return 0;
    }

    //有两个问题

      1、关于递归时传入参数:不能改变最初传入参数的值,

      例如、a--

      因为一个函数里面的参数一旦改变,会使整个函数的计算过程中a的值会随着改变,导致结果不对

      2、我最初的思路是定义一个全局的静态变量,来记录每一次递归所产生的结果,然后实现累加

      即x+=a*dfs(a),其中a是全局变量,但是递归的结果多算了一点,没有完善好。

  • 相关阅读:
    ISC2016训练赛 phrackCTF--Classical CrackMe
    JCTF 2014 小菜一碟
    攻防世界--ReverseMe-120
    lstm torch
    pandas 处理 纽约签到数据集
    python datatime
    tf.keras 模型 多个输入 tf.data.Dataset
    python **kwarg和*args
    java 优先队列 大根堆
    python总结
  • 原文地址:https://www.cnblogs.com/mapone/p/11938237.html
Copyright © 2011-2022 走看看