C++ 中两个数字在一定范围内公倍数的计数
给定两个数字 A 和 B。还提供了两个数字 START 和 END 来定义一个数字范围。第 A 个方块涂成白色,第 B 个方块涂成黑色。如果方块同时涂成黑色和白色,则变成灰色。目标是找到灰色方块的总数。
我们将通过遍历从 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 的倍数的计数。
将初始变量 count 设为 0,表示此类数字。
使用 for 循环遍历数字范围。i=start 到 i=end
如果 i%a==0 并且 i%b==0。则'i' 是 a 和 b 的倍数。
在所有循环结束时,count 将包含 a 和 b 的倍数的总数
返回 count 作为结果。
示例
#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
广告