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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP