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

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

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

เพื่อแก้ปัญหานี้ เราต้องทำตามวิธีง่ายๆ เราจะวนลูปจาก 1 ถึง n ในแต่ละรอบ เราจะดูว่าผลรวมของตัวเลขและผลรวมหลักของมันเท่ากับ 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