在C ++中计算给定范围内的A或B的总除数

我们给了四个整数L,R,A和B。目标是找到[L,R]范围内的数字,它们将A或B或两者全部除。

我们将通过从L遍历到R进行此操作,如果数字%A == 0或数字%B == 0,则对每个数字进行除数计数。

让我们通过示例来理解。

输入-L = 10,R = 15,A = 4,B = 3

输出-A或B的除数计数-2

说明-

Number 12 is fully divisible by 3 and 4.

Number 15 is fully divisible by 3 only.

Total divisors=2

输入-L = 20,R = 30,A = 17,B = 19

输出-A或B的除数计数-0

说明-20到30之间的数字不能被A或B或两者完全除尽。

以下程序中使用的方法如下

  • 我们采用了四个变量A,B,L和R。

  • 函数countDivisors(int l,int r,int a,int b)将全部作为输入,并返回A或B或两个都在[L,R]范围内的除数。

  • 将初始计数设为0。

  • 如果i%a == 0或i%b == 0,则从i = L到i = R。

  • 在循环结束时算为A或B的除数。

  • 返回计数作为结果。

示例

#include <bits/stdc++.h>

using namespace std;

int countDivisors(int l, int r, int a,int b){

   int count = 0;

   for (int i = l; i <= r; i++){

      if(i%a==0 || i%b==0)

         { count++ ; }

   }

   return count;

}

int main(){

   int L=5;

   int R=15;

   int A=2;

   int B=5;

   cout <<endl<< "Total divisors of A and B : "<<countDivisors(L,R,A,B);

   return 0;

}

输出结果

如果我们运行上面的代码,它将生成以下输出-

Total divisors of A and B : 7

以上是 在C ++中计算给定范围内的A或B的总除数 的全部内容, 来源链接: utcz.com/z/350183.html

回到顶部