学学笔记 - 官方 Qiter | 学习笔记

C++ 实例15 - 求一个数的阶乘

发布时间:2年前热度: 447 ℃评论数:

C++ 实例 - 求一个数的阶乘

一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。

实例

#include <iostream>
using namespace std;

int main()
{
    unsigned int n;
    unsigned long long factorial = 1;

    cout << "输入一个整数: ";
    cin >> n;

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

    cout << n << " 的阶乘为:"<< " = " << factorial;    
    return 0;
}

以上程序执行输出结果为:

输入一个整数: 12
12 的阶乘为: = 479001600

阶乘可以用递归来实现:

#include <iostream>
using namespace std;

long fact(int);
int main()
{
    int n = 12;
    unsigned long long factorial = 1;
    factorial = fact(n);
    cout<<n<<"!="<<factorial<<endl;
    return 0 ;
}

long fact(int ip) {
    if (ip == 1) {
        return 1;
    }
    else {
        return ip * fact(ip - 1);
    }
} 

C++ 实例15 - 求一个数的阶乘

栏目导航

  1. Cpp笔记

手机扫码访问