Computer >> Máy Tính >  >> Lập trình >> C ++

Số nguyên dương lớn nhất chia hết cho C và nằm trong khoảng [A, B] trong C ++

Ở đây chúng ta sẽ thấy một vấn đề thú vị. Chúng ta hãy xem xét chúng ta có ba số nguyên A, B và C. Chúng ta phải tìm một số nguyên X nhỏ nhất, sao cho X mod C =0 và X không nằm trong khoảng [A, B]. Nếu giá trị của A, B và C lần lượt là 5, 10 và 4 thì giá trị của X sẽ là 4. Chúng ta phải làm theo các bước sau để có lời giải -

Các bước -

  • Nếu C không nằm trong phạm vi [A, B], thì trả về C là kết quả

  • Nếu không, hãy lấy bội số đầu tiên của C, lớn hơn B, sau đó trả về giá trị đó

Ví dụ

#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);
}

Đầu ra

Minimum number X: 6