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
廣告