Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ tìm số K chữ số nhỏ nhất chia hết cho X

Số K chữ số nhỏ nhất chia hết cho X được tìm bằng công thức kiểm tra tính chia hết. Quy trình:

  1. Tính số K chữ số nhỏ nhất: min = 10^(K-1) (ví dụ: 10, 100, 1000...).
  2. Nếu min chia hết cho X → đó là kết quả.
  3. Ngược lại: kết quả = (min + X) - ((min + X) % X).

Ví dụ

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int X = 83;
    int K = 5;
    cout << "So " << K << " chu so nho nhat chia het cho " << X << " la ";
    
    int MIN = pow(10, K - 1);
    if (MIN % X == 0)
        cout << MIN;
    else
        cout << (MIN + X) - ((MIN + X) % X);
    
    return 0;
}

Kết quả

So 5 chu so nho nhat chia het cho 83 la 100430

Giải thích công thức

Công thức (min + X) - ((min + X) % X) tìm bội số của X lớn nhất không vượt quá (min + X), đảm bảo kết quả ≥ min và chia hết cho X.

Lưu ý

Code gốc có lỗi: gọi hàm answer(X, K) không tồn tại. Đã sửa trong phiên bản trên.