im2*_*hae 2 c++ integer factorial while-loop
作为家庭作业,我需要一个读取非负整数的程序,并计算并打印其阶乘.到目前为止我编写了代码,但如果我尝试输入50!结果为0.它适用于较小的数字.任何帮助将非常感激.
#include <iostream>
using namespace std;
int main()
{
int counter = 1;
int number;
cout << "Please enter a number: ";
cin >> number;
int factorial = number;
while (counter != number)
{
factorial = factorial * (number - counter);
counter++;
}
cout << "The factorial of " << number << "! is: " << factorial << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
50!是30414093201713378043612608166064768844377641568960512000000000000,对于一个int过于庞大.由于整数溢出,结果为0.
| 归档时间: |
|
| 查看次数: |
5563 次 |
| 最近记录: |