考虑我们有一个整数n。我们的任务是找到两个数字a和b,满足这三个条件。
a mod b = 0
a * b> n
a / b <n
如果找不到对,则打印-1。
例如,如果数字n = 10,则a和b可以是a = 90,b =10。这满足给定的规则。
为了解决这个问题,我们将按照以下步骤操作:
令b = n。可以使用这三个条件找到
当a是b的倍数时,mod b = 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