计算1到N范围内的数字,这些数字在C ++中可以被X整除,但不能被Y整除

给我们提供了一个数字N。目标是找到可以被X而不是Y整除且范围为[1,N]的数字。

让我们通过示例来理解。

输入值 

N=20 X=5 Y=20

输出结果 

Numbers from 1 to N divisible by X not Y: 2

说明 

Only 5 and 15 are divisible by 5 and not 10.

输入值 

N=20 X=4 Y=7

输出结果 

Numbers from 1 to N divisible by X not Y: 5

说明 

Numbers 4, 8, 12, 16 and 20 are divisible by 4 and not 7.

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

  • 我们取整数N。

  • 函数divisibleXY(int x,int y,int n)返回一个从1到N的可被X整除而不是Y整除的数字的计数。

  • 对于此类数字,将初始变量计数设为0。

  • 使用for循环遍历数字范围。i = 1到i = n

  • 现在,对于每个数字i,检查是否为(i%x == 0 && i%y!= 0),如果是真实的增量计数。

  • 返回计数结果。

示例

#include <bits/stdc++.h>
using namespace std;
int divisibleXY(int x, int y, int n){
   int count = 0;
   for (int i = 1; i <= n; i++) {
      if(i%x==0 && i%y!=0 )
         { count++; }
   }
   return count;
}
int main(){
   int N = 100;
   int X=6, Y=8;
   cout <<"Numbers from 1 to N which are divisible by X and not Y: "<< divisibleXY(X,Y,N);
   return 0;
}

输出结果

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

Numbers from 1 to N which are divisible by X and not Y: 12
猜你喜欢