递归算法:求阶乘

2021-12-21  本文已影响0人  疋瓞

1、环境配置:

2、算法思想:

将n的阶乘看成是n乘n-1的阶乘。

3、代码:

/*
《递归阶乘算法》 
*/ 
#include<iostream>

using namespace std;

int function1(int n);//从n阶乘到1 
int f2(int i,int n); //从i阶乘到n

int main(){
    int i = 5;
    int s = function1(i);
    cout<<"i ="<<i<<"时阶乘后的s="<<s<<endl;
    
    i = 1;
    int j = 5;
    int m = f2(i,j);
    cout<<"从"<<i<<"阶乘到"<<j<<"结果是"<<m<<endl;
    return 0;
} 

int function1(int n){
    if(n == 1){
        return 1;
    }
    else{
        return(n*function1(n-1));
    }
}

int f2(int i,int n){
    if(i == n){
        return n;
    }
    else{
        return(i*f2(i+1,n));
    }
}

4、结果展示:

结果展示.png

5、反思总结:

递归就是自己调用自己。

上一篇 下一篇

猜你喜欢

热点阅读