C++中可计算阶乘的最大整数值
在这个问题中,我们需要创建一个程序来查找C++中机器可以计算阶乘的最大整数值。
一个数字的阶乘是一个很大的值,因为它是由它之前所有值的乘积得到的。而C++只能通过使用其内置函数来处理一定范围内的较大值。我们需要找到这个限制。
解决方案
我们将简单地使用数据类型的属性,当数字超过最大值时,将返回负数。
我们将使用`long long int`,这是最大的基本数据类型。
示例
#include <iostream>
using namespace std;
int calcMaxFactVal(){
int maxVal = 1;
long long int maxFactorial = 1;
while (true){
if (maxFactorial < 0)
return (maxVal - 1);
maxVal++;
maxFactorial *= maxVal;
}
return - 1;
}
int main(){
cout<<"The maximum value of an integer for which factorial can be
calculated on machine is "<<calcMaxFactVal();
return 0;
}输出
The maximum value of an integer for which factorial can be calculated on machine is 20
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP