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

Thay thế tất cả chữ số 0 bằng 5 trong số nguyên C++


Cho số nguyên N, thay thế mọi chữ số 0 bằng 5. Các số 0 dẫn đầu (leading zeros) bị bỏ qua vì không ảnh hưởng giá trị số. Ví dụ:

Đầu vào 1: N = 1007 → Đầu ra: 1557.

Đầu vào 2: N = 00105 (thực tế là 105) → Đầu ra: 155 (0 giữa thành 5, 0 dẫn đầu bị bỏ).

Phương pháp: Đệ quy

Tách chữ số cuối (N % 10). Nếu là 0 thì thay bằng 5. Gọi đệ quy cho N/10, nhân kết quả đệ quy với 10 và cộng chữ số đã xử lý. Trường hợp cơ sở: N == 0 trả về 0.

Ví dụ mã nguồn

#include <bits/stdc++.h>
using namespace std;

int convertToFive(int N) {
    if (N == 0) return 0;
    int last = N % 10;
    if (last == 0) last = 5;
    return convertToFive(N / 10) * 10 + last;
}

int main() {
    int N = 14006;
    cout << convertToFive(N) << endl; // 14556
    return 0;
}

Kết quả

14556

Số 14006 sau khi thay 0 thành 5 trở thành 14556.