在C ++中找到满足给定条件的数字a和b

考虑我们有一个整数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

以上是 在C ++中找到满足给定条件的数字a和b 的全部内容, 来源链接: utcz.com/z/347233.html

回到顶部