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

Tìm số lớn nhất không quá N có tất cả chữ số chẵn trong C++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình tìm số lớn nhất có tất cả các chữ số đều chẵn và không lớn hơn N cho trước.

Các bước giải quyết

  • Khởi tạo số N.
  • Viết vòng lặp từ i = N:
    • Kiểm tra xem các chữ số của số hiện tại có đều chẵn không.
    • Nếu thỏa mãn, in ra số đó.
    • Ngược lại giảm i xuống.

Ví dụ

Dưới đây là mã nguồn C++:

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

int allDigitsEven(int n) { 
    while (n) { 
        if ((n % 10) % 2) { 
            return 0; 
        } 
        n /= 10; 
    } 
    return 1; 
} 

int findLargestEvenNumber(int n) { 
    int i = n; 
    while (true) { 
        if (allDigitsEven(i)) { 
            return i; 
        } 
        i--; 
    } 
} 

int main() { 
    int N = 43; 
    cout << findLargestEvenNumber(N) << endl; 
    return 0; 
}

Kết quả

Nếu bạn chạy mã trên, kết quả sẽ là:

42

Kết luận

Nếu bạn có bất kỳ thắc mắc nào về hướng dẫn này, hãy để lại bình luận bên dưới.