n的阶乘(递归与非递归)

版权声明:Andy https://blog.csdn.net/Alibaba_lhl/article/details/83034267
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

ll f(ll n)///递归算法
{
    if(n==0 || n==1) return 1;
    else return n * f(n-1);
}
ll g(ll n)///非递归算法
{
    ll ans = 1;
    if(n==0) return ans;
    for(ll i=1; i<=n; i++)
    {
       ans = ans *  i;
    }
    return ans;
}
int main()
{
    ll n;
    cin>> n;
    cout<< f(n) << endl;
    cout<< g(n) << endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Alibaba_lhl/article/details/83034267