Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

จำนวนที่มากที่สุดที่น้อยกว่า N โดยมีผลรวมหลักมากกว่าผลรวมหลักของ N ใน C++


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่หาจำนวนที่น้อยกว่า N โดยมีผลรวมหลักมากกว่าผลรวมหลักของ n

มาดูขั้นตอนการแก้ปัญหากัน

  • เขียนฟังก์ชันเพื่อค้นหาผลรวมของตัวเลข
  • เริ่มต้น n.
  • เขียนลูปที่วนซ้ำจาก n - 1 ถึง 1.
    • ตรวจสอบผลรวมหลักของตัวเลขปัจจุบันด้วยผลรวมหลักของ n
    • หากผลรวมหลักของตัวเลขปัจจุบันมากกว่า n ให้คืนค่าตัวเลขปัจจุบัน
    • ย้ายไปที่หมายเลขถัดไป

ตัวอย่าง

มาดูโค้ดกันเลย

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

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

69

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น