C / C ++の再帰と反復(ループ)

再帰によって解決できる問題はすべて反復(ループ)に変換できます
。再帰の利点:プログラムをより明確かつ簡潔にします。再帰によって、より強力な関数をより少ないコードで実現できます
再帰の欠点:再帰が増加し、多くの時間とメモリを消費します

0〜8の階乗を再帰的に計算します

#include <iostream>
using namespace std;
long factorial(int num)
{
    
    
    if(num==0)
        return 1;
    else
        return num*factorial(num-1);
}
int main()
{
    
    
    int i;
    for(i=0; i<9; i++)
        cout << i << "的阶乘:" << factorial(i) << endl;
    return 0;
}

ループ内の0〜8の階乗を計算します

#include <iostream>
using namespace std;
long factorial(int num)
{
    
    
    int i, result=1;
    if(num==0)
        return 1;
    for(i=num; i>=1; i--)
        result*=i;
    return result;
}
int main()
{
    
    
    int i;
    for(i=0; i<9; i++)
        cout << i << "的阶乘:" << factorial(i) << endl;
    return 0;
}

おすすめ

転載: blog.csdn.net/qq_44378854/article/details/109320585