C++中能被C整除且在[A, B]範圍內的最大正整數


這裡我們將看到一個有趣的問題。假設我們有三個整數A、B和C。我們必須找到一個最小的整數X,使得X mod C = 0,並且X不在[A, B]範圍內。如果A、B和C的值分別為5、10和4,則X的值將為4。我們必須遵循以下步驟才能得到解決方案:

步驟:

  • 如果C不在[A, B]範圍內,則返回C作為結果

  • 否則,獲取C的第一個大於B的倍數,然後返回該值

示例

線上演示

#include <iostream>
using namespace std;
int findMinMumber(int a, int b, int c) {
   if (c < a || c > b)
   return c;
   int res = ((b / c) * c) + c;
   return res;
}
int main() {
   int a = 2, b = 4, c = 2;
   cout << "Minimum number X: " << findMinMumber(a, b, c);
}

輸出

Minimum number X: 6

更新於:2019年10月21日

111 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.