C++ 中計算 1 到 N 之間乘積可被和整除的數字對
給定一個數字 N。目標是找到 1 到 N 之間的數字對,使得數字對的乘積等於數字對的和。
讓我們透過示例來理解。
輸入 − N=11
輸出 − 乘積可被和整除的 1 到 N 之間數字對的數量為 - 1
解釋 − 數字 3 和 6 的乘積為 18,它們的和 9 完全整除 18。
輸入 − N=30
輸出 − 乘積可被和整除的 1 到 N 之間數字對的數量為 - 12
解釋 − 數字對為 - (3, 6), (4,12), (5, 20), (6, 12), (6, 30), (8, 24), (9, 18), (10, 15), (12, 24), (15, 30), (20, 30), (21, 28)
數字對數量 - 12
下面程式中使用的方案如下
我們將使用 FOR 迴圈兩次遍歷 1 到 N。對於每個 i,搜尋 j 使得 (i,j) 的乘積可以被 i+j 的和整除。對於滿足 i!=j 的 i,j 對,遞增計數。
將數字 N 作為輸入。
函式 Sum_N(N) 獲取 N 並返回滿足數字乘積可被數字和整除的數字對的數量。
從 i=1 遍歷到 i<N。
從 j=i+1 遍歷到 j<=N。
將初始計數設定為 0。
對於每個 i 和 j,計算 temp= (i*j)%(i+j)。
如果 temp 為 0,則和完全整除乘積。遞增計數。
在所有迭代結束時,計數將包含此類數字對的總數。
返回計數作為結果。
示例
#include <bits/stdc++.h> using namespace std; int Sum_N(int N){ int count = 0; for (int i = 1; i < N; i++){ for (int j = i + 1; j <= N; j++){ int temp = (j * i) % (j + i); if (!temp){ count++; } } } return count; } int main(){ int N = 20; cout<<"Count of pairs of numbers from 1 to N with Product divisible by their Sum are: "<<Sum_N(N); return 0; }
輸出
如果我們執行以上程式碼,它將生成以下輸出 -
Count of pairs of numbers from 1 to N with Product divisible by their Sum are: 6
廣告