在C ++中计算给定范围内的阶乘数
给定范围是从变量保存的整数值开始,比如说从开始直到变量结束,而任务是计算给定范围内可用的阶乘数的总数。
什么是阶乘数
数字的阶乘是通过将数字中的数字相乘,同时将数字的值减1来计算的。它由符号“!”表示 即0!,1!,2!,3!,5!,....等 0阶乘!和1!始终为1。
I.e. factorial of 2 = 2 * (2-1) = 2 * 1 = 2factorial of 3 = 3 * (3-1) * (2-1) = 3 * 2 * 1 = 6
例如
Input − start = 5, end = 600Output − Count of factorial numbers are 3
说明 -由于,有3个可用数字,阶乘数在5-600范围内。
Input − start = 1, end = 100Output − Count of factorial numbers are 5
解释-由于,有5个可用数字,阶乘数在5-600范围内。
以下程序中使用的方法如下
输入范围并存储在变量start和end中
取另一个变量“ fact”来存储阶乘值,并用1和一个临时变量“ i”对其进行初始化,以增加数字计数。
在事实少于开始的情况下开始循环,并继续将事实与i相乘以计算阶乘,并继续使i的值递增
在事实小于等于结束变量的情况下开始另一个循环,并继续增加变量r的值,并将事实设置为事实* i,并继续增加i的值
现在,返回r的值,该值保存了阶乘数总数的总数
打印结果。
示例
#include <iostream>using namespace std;
//要计算阶乘数
int factorials(int start, int end){
//从1开始,找到第一个阶乘数
//'事实'大于或等于'开始'
int fact = 1, i = 1;
while (fact < start){
fact = fact*i;
i++;
}
//r计算范围从开始到结束的阶乘
int r = 0;
while (fact <= end){
r++;
fact = fact*i;
i++;
}
//返回范围内的阶乘计数
return r;
}
int main(){
int start = 5, end = 600;
cout << "Count of factorial numbers are " << factorials(start, end);
return 0;
}
输出结果
如果我们运行上面的代码,它将生成以下输出-
Count of factorial numbers are 3
以上是 在C ++中计算给定范围内的阶乘数 的全部内容, 来源链接: utcz.com/z/321754.html