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

Chương trình C++ đếm chữ số chia hết cho chính số đó

Cho số, đếm bao nhiêu chữ số của nó chia hết cho chính số đó. Ví dụ 1012 → 3 (chữ số 1,1,2 chia hết 1012).

Giải pháp: tách từng chữ số bằng modulus, kiểm tra số có chia hết cho chữ số không (bỏ qua chữ số 0).

Ví dụ mã nguồn

#include <iostream>
using namespace std;

int countDivDigit(int num) {
    int count = 0;
    int temp = num;
    while (temp) {
        int div = temp % 10;
        if (div != 0) {
            if (num % div == 0)
                count++;
        }
        temp /= 10;
    }
    return count;
}

int main() {
    int num = 1012;
    cout << "Number of digits that divides " << num << " evenly, is: " << countDivDigit(num);
}

Kết quả đầu ra

Number of digits that divides 1012 evenly, is: 3