在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