Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หาจำนวนเต็มบวกน้อยที่สุดที่หารด้วย C ลงตัวและไม่อยู่ในช่วง [A, B] ใน C++


บทนำ

กำหนดจำนวนเต็มสามจำนวน A, B, C ต้องการหาจำนวนเต็ม X ที่น้อยที่สุด โดยที่ X mod C = 0 และ X ไม่อยู่ในช่วง [A, B]

ตัวอย่าง: A=5, B=10, C=4 → X = 4

ขั้นตอนการแก้ปัญหา

  1. ถ้า C ไม่อยู่ในช่วง [A, B] ให้คืนค่า C ทันที
  2. มิฉะนั้น หาตัวคูณของ 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