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.