บทนำ
กำหนดจำนวนเต็มสามจำนวน A, B, C ต้องการหาจำนวนเต็ม X ที่น้อยที่สุด โดยที่ X mod C = 0 และ X ไม่อยู่ในช่วง [A, B]
ตัวอย่าง: A=5, B=10, C=4 → X = 4
ขั้นตอนการแก้ปัญหา
- ถ้า C ไม่อยู่ในช่วง [A, B] ให้คืนค่า C ทันที
- มิฉะนั้น หาตัวคูณของ C ที่มากกว่า B เป็นตัวแรก แล้วคืนค่านั้น
ตัวอย่างโค้ด C++
#include <iostream>
using namespace std;
int findMinNumber(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: " << findMinNumber(a, b, c);
return 0;
}
ผลลัพธ์
Minimum number X: 6