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