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

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 với tổng chữ số lớn hơn tổng chữ số của n.

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

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

Ví dụ

Hãy xem mã.

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

Đầu ra

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

69

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.