计算从 1 到 N 的数字对,其乘积可被 C++ 中的总和整除
给定一个数字 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 遍历两次。对于每一个,我搜索 j 使得 (i,j) 的乘积可以被和 i+j 整除。suc 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,则 sum 将产品完全除以。递增计数。
在所有迭代结束后,计数将具有此类对的总数。
返回计数作为结果。
示例
#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<<"从 1 到 N 且乘积可被其总和整除的数对的计数为: "<<Sum_N(N);
return 0;
}
如果我们运行上面的代码,它将生成以下输出 -
从 1 到 N 且乘积可被其总和整除的数对的计数为: 6
以上是 计算从 1 到 N 的数字对,其乘积可被 C++ 中的总和整除 的全部内容, 来源链接: utcz.com/z/352718.html