在C ++中将一个数字除以另一的整数的最小值
问题陈述
给定两个整数p和q,任务是找到最小可能数x,以使q%x=0和x%p=0。如果条件不满足任何数字,则打印-1。
示例
If p = 3 and q = 66 then answer is 3 as: 66 % 3 = 0 3 % 3 = 0
算法
如果数字x满足给定条件,则很明显q将除以p即q%p=0,因为x是p的倍数,而q是x的倍数
因此,x的最小可能值为p和q的GCD,并且当q不能被p整除时,没有数字会满足给定条件
示例
#include <bits/stdc++.h>
using namespace std;
int getMinValue(int p, int q) {
if (q % p == 0) {
return __gcd(p, q);
}
return -1;
}
int main() {
int p = 3;
int q = 66;
cout << "Minimum value = " << getMinValue(p, q) << endl;
return 0;
}当您编译并执行上述程序时。它产生以下输出-
输出结果
Minimum value = 3
热门推荐
10 圣诞祝福语简短小学
11 祖国七十华诞简短祝福语
12 老师送的祝福语简短
13 生日祝福语大全女生简短
14 祝女性生日祝福语简短
15 牛年女神节祝福语简短
16 情人表白祝福语简短大气
17 老公开业祝福语简短
18 官宣新年祝福语简短