在C++中计算给定范围内A或B的总除数
我们给出四个整数L、R、A和B。目标是找到[L,R]范围内完全整除A或B或两者之一的数字个数。
我们将从L遍历到R,对于每个数字,如果number%A==0或number%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) 将所有输入作为输入,并返回位于[L, R]范围内的A或B或两者的除数。
将初始计数设置为0。
从i=L到i=R,如果i%a==0或i%b==0,则递增计数。
循环结束时,计数为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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP