在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