• 递归算法


    递归与循环有相同之处,但是区别很大;代码简洁,但是理解复杂

    通过题目来使用循环和递归,观察区别


    提示用户输入一个正整数n,求出并输出下列结果:1! + 2! + 3! + 4! + ... + n!
    要求:用至少两种方式实现(函数名自拟,函数个数不限)
    ① 非递归
    ② 递归

    //非递归

         int main(){

      int n;

     int  sum = 0;

      scanf("%d", &n);

      for (int i = 1; i <= n; i++){

      int num = 1;

      for (int m = 1; m <= i; m++){

      num = num*m;

      }

      sum += num;

      }

      printf("%d", sum);

      system("pause");

      return 0;

     }

    //递归

    #define  _CRT_SECURE_NO_WARNINGS

    #include <stdio.h>

    #include<stdlib.h>

     //递归套递归

    int digui2(int m){

    if (m == 1){

    return digui(m);

    }

    else

    {

    return digui(m) + digui2(m - 1);

    }

    }

    int digui(int n){

    if (n == 1)

    return 1;

    else

    {

    return n*digui(n - 1);

    }

    }

    int main(){

    int n;

    scanf("%d", &n);

    digui(n);

    int  sum = digui2(n);

    printf("%d", sum);

    system("pause");

    return 0;

    }

  • 相关阅读:
    python https请求报错:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED]
    python打包为exe文件
    文件自定义扫描工具
    pandas 的常用方法
    cisco应用
    Cisco 模拟配置
    python 识别图片上的数字
    OpenSSL
    OpenSSL
    OpenSSL
  • 原文地址:https://www.cnblogs.com/liaoxianfu/p/6098011.html
Copyright © 2020-2023  润新知