在C ++中找到满足给定条件的数字a和b
考虑我们有一个整数n。我们的任务是找到两个数字a和b,满足这三个条件。
amodb=0
a*b>n
a/b<n
如果找不到对,则打印-1。
例如,如果数字n=10,则a和b可以是a=90,b=10。这满足给定的规则。
为了解决这个问题,我们将按照以下步骤操作:
令b=n。可以使用这三个条件找到
当a是b的倍数时,modb=0
a/b<n,所以a/b=n–1,即<n
(a*b>n)=>a=n
示例
#include<iostream>
using namespace std;
void findAandB(int n) {
int b = n;
int a = b * (n - 1);
if (a * b > n && a / b < n) {
cout << "a: " << a << endl;
cout << "b: " << b;
}else
cout << -1 << endl;
}
int main() {
int n = 10;
findAandB(n);
}输出结果
a: 90 b: 10