c++ - 陷入循环 C++

标签 c++ for-loop factorial

我正在尝试做一个阶乘 阶乘通过用户输入接收一个数字,然后执行此公式

input = 5;
5! = 5(4)(3)(2)(1)

唯一的问题是它的说法不能将'fac'用作函数,除了我认为其中的数学是正确的,是的。

#include <iostream>

using namespace std;

int main()
{
    int fac = 0;
    int sum = 0;
    int cnt = 1;
    cout << "Input a number to get the Factorial: ";
    cin >> fac;

    for (fac; fac > 0; cnt ++)
    {
        sum = fac(fac - cnt)
    }

    cout << fac << "! : ";
}

最佳答案

在标准数学中,邻接表示乘法。在大多数计算机语言中,它不是。

在 C++ 中,您必须使用 * 运算符将两个量相乘:

    sum = fac * (fac - cnt)

但是,您会发现您的程序中还有其他一些数学/逻辑错误。例如,当 fac > 0 为 false 时退出循环,但您从不在循环中修改 fac。因此循环要么执行零次,要么执行无限次。

关于c++ - 陷入循环 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672828/

相关文章:

c++ - c++后缀数组的实现

c++ - C++ 中的随机段错误

c++ - 二锁并发队列算法问题

c++ - 计算未输出预期答案

java - 使用 while 循环记分的问题 (Java)

python - 如何同时迭代两个变量?

java - 计算第 n 个阶乘

javascript - 使用 .reduce() 对数字进行因式分解

ruby - (Ruby) 第一个 x 递归数字

c++ - 我想在 omnet++ 中模拟客户端/服务器场景?