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

ค้นหาจำนวน x โดยที่ผลรวมของ x และหลักนั้นเท่ากับที่กำหนด n ใน C++


ในที่นี้ เราจะเห็นปัญหาหนึ่ง โดยที่เรานำตัวเลข n มา เราจะต้องหาอีกค่าหนึ่งว่า x โดยที่ x + ผลรวมหลักของ x จะเท่ากับจำนวนที่กำหนด n สมมติว่าค่าของ n คือ 21 โปรแกรมนี้จะส่งกลับตัวเลข x =15 เป็น 15 + ผลรวมหลักของ 15 เช่น 15 + 1 + 5 =21 =n

เพื่อแก้ปัญหานี้ เราต้องปฏิบัติตามแนวทางง่ายๆ เราจะวนซ้ำถึง 1 ถึง n ในการวนซ้ำแต่ละครั้ง เราจะดูว่าผลรวมของตัวเลขและผลรวมหลักของมันเหมือนกับตัวเลขหรือไม่ จากนั้นให้หยุด ไม่เช่นนั้นให้ดำเนินการต่อ

ตัวอย่าง

#include<iostream>
using namespace std;
int getDigitSum(int n) {
   int sum = 0;
   while (n) {
      sum += n % 10;
      n /= 10;
   }
   return sum;
}
int getNumber(int n) {
   for (int i = 0; i <= n; i++)
      if (i + getDigitSum(i) == n)
         return i;
         return -1;
}
int main() {
   int n = 21;
   cout << "The value of x is: " << getNumber(n);
}

ผลลัพธ์

The value of x is: 15