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

Tìm số lớn nhất nhỏ hơn N có tổng chữ số lớn hơn tổng chữ số của 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ố nhỏ hơn N có tổng chữ số lớn hơn tổng chữ số của N.

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

  • Viết hàm tính tổng chữ số.
  • Khởi tạo N.
  • Viết vòng lặp từ N - 1 xuống 1:
    • Kiểm tra tổng chữ số của số hiện tại với tổng chữ số của N.
    • Nếu tổng chữ số của số hiện tại lớn hơn N, trả về số đó.
    • Chuyển sang số tiếp theo.

Ví dụ

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

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

int sumOfDigits(int n) { 
    int digitsSum = 0; 
    while (n > 0) { 
        digitsSum += n % 10; 
        n /= 10; 
    } 
    return digitsSum; 
} 

int findLargestNumber(int n) { 
    int i = n - 1; 
    while (i > 0) { 
        if (sumOfDigits(i) > sumOfDigits(n)) { 
            return i; 
        } 
        i--; 
    } 
    return -1; 
} 

int main() { 
    int n = 75; 
    cout << findLargestNumber(n) << endl; 
    return 0; 
}

Kết quả

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

69

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.