C ++中某个范围内两个数字的公倍数的计数

我们给了两个数字A和B。还提供了两个数字START和END来定义一个数字范围。Ath瓷砖的油漆为白色,Bth瓷砖的油漆为黑色。如果瓷砖同时被涂成黑色和白色,那么它将变成灰色。目的是找到灰色瓷砖的总数。

我们将通过从START到END遍历数字来完成此操作,对于每个数字,我们将检查数字是否为A和B的倍数。如果是,则递增计数。

让我们通过示例来理解。

输入值 

START=10 END=20 A=3 B=6

输出结果 

Common multiples of A and B ( grey tiles ): 2

说明 

Numbers 12, 18 are multiples of 3 and 6.

输入值 

START=1 END=100 A=10 B=11

输出结果 

Common multiples of A and B ( grey tiles ): 0

说明 

No common multiple of 10 and 11 in range.

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

  • 我们将整数START和END用作范围变量。

  • 我们将A和B作为两个变量。

  • 函数countGrey(int start,int end,int a,int b)接受范围变量a,b并返回a和b的倍数的计数。

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

  • 使用for循环遍历数字范围。我=开始我=结束

  • 如果i%a == 0 && i%b == 0。那么“ i”是a和b的倍数。

  • 在所有循环结束时,计数将是“ a”和“ b”的倍数的总数

  • 返回计数结果。

示例

#include <bits/stdc++.h>
using namespace std;
int countGrey(int start, int end, int a, int b){
   int count = 0;
   for (int i = start; i <= end; i++){
      if(i%a==0 && i%b==0) //tile is grey
         { count++; }
   }
   return count;
}
int main(){
   int START =10, END = 30;
   int A=4, B=3;
   cout <<"Common multiples of A and B ( grey tiles ): "<<
   countGrey(START,END, A, B);
   return 0;
}

输出结果

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

Common multiples of A and B ( grey tiles ): 2
猜你喜欢