在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
  • 當a是b的倍數時,a 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

更新於:2019年11月1日

466 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告