在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 婆婆高寿祝福语大全简短