当前位置: 首页 > 编程笔记 >

在C ++中计算给定范围内的阶乘数

汪和悌
2023-03-14
本文向大家介绍在C ++中计算给定范围内的阶乘数,包括了在C ++中计算给定范围内的阶乘数的使用技巧和注意事项,需要的朋友参考一下

给定范围是从变量保存的整数值开始,比如说从开始直到变量结束,而任务是计算给定范围内可用的阶乘数的总数。

什么是阶乘数

数字的阶乘是通过将数字中的数字相乘,同时将数字的值减1来计算的。它由符号“!”表示 即0!,1!,2!,3!,5!,....等 0阶乘!和1!始终为1。

I.e. factorial of 2 = 2 * (2-1) = 2 * 1 = 2
      factorial 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 ++中给定范围内的最小元素数,包括了计算C ++中给定范围内的最小元素数的使用技巧和注意事项,需要的朋友参考一下 我们得到了一个大小为N的整数数组。变量L和R定义了一个介于1和N之间的范围。目标是找到位于范围L和R中的最小元素数,使得L> = 1且R <= N. 我们将遍历位于范围L和R中的元素并找到最小的元素,以实现此目的。 同样,遍历范围L和R的元素,如果任何元素等于在步

  • 假设您有一个间隔列表,例如[(0 4),(1 3),(2 5),(2 6)]。此列表未排序。然后给您一个范围,如[1 5]。您必须返回适合范围内的间隔数。在这个问题中,它将返回2。((1 3)和(2 5)) 间隔列表保持不变,但我们最多得到100000个查询,每个查询由一个范围组成。对于每个范围查询,我们必须返回适合其中的间隔数。 在研究之后,我读到了间隔树。但是,您只能查询与任何给定范围重叠的间

  • 本文向大家介绍用C ++计算阶乘中的位数,包括了用C ++计算阶乘中的位数的使用技巧和注意事项,需要的朋友参考一下 给我们一个整数值,任务是首先计算一个数字的阶乘,然后计算结果中的总位数。 什么是阶乘数 数字的阶乘是通过将数字中的数字相乘,同时将数字的值减1来计算的。它由符号“!”表示 即0!,1!,2!,3!,5!,....等 0阶乘!和1!始终为1。 例如 说明-由于阶乘值6是720并且包含3

  • 本文向大家介绍在C ++中给定范围内x ^ 2 = 1(mod p)的解的计数,包括了在C ++中给定范围内x ^ 2 = 1(mod p)的解的计数的使用技巧和注意事项,需要的朋友参考一下 给定整数x和p。目的是找到等式-x 2 = 1(mod p)的解数,以使x处于[1,N]范围内。 我们将通过从1遍历到N并将每个数字作为x来检查(x * x)%p == 1。如果是,则增加计数。 让我们通过示

  • 我试图计算整数范围的阶乘(2 然而,上面的print语句给出的值=0。事实上,对于所有n

  • 我如何使程序执行一个新的或重复的操作,或要求用户再次输入一个数字,并知道它的阶乘。