Computer >> Máy Tính >  >> Lập trình >> C ++

Số chẵn lớn nhất không lớn hơn 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ó các chữ số đều chẵn và không lớn hơn n đã cho.

Hãy xem các bước để giải quyết vấn đề.

  • Khởi tạo số n.
  • Viết một vòng lặp từ i =n.
    • Kiểm tra xem các chữ số của số hiện tại có phải là số chẵn hay không.
    • Nếu điều kiện trên thoả mãn thì in số.
    • Giảm i khác.

Ví dụ

Hãy xem mã.

#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;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

42

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.