Ở đây chúng ta sẽ thấy một vấn đề, trong đó chúng ta lấy một số n, chúng ta phải tìm một giá trị khác có nghĩa là x, sao cho tổng x + chữ số của x bằng với số n đã cho. Giả sử giá trị của n là 21. Chương trình này sẽ trả về một số x =15, dưới dạng tổng 15 + chữ số của 15, tức là 15 + 1 + 5 =21 =n.
Để giải quyết vấn đề này, chúng ta phải làm theo cách tiếp cận đơn giản. Chúng tôi sẽ lặp lại từ 1 đến n, trong mỗi lần lặp, chúng tôi sẽ xem liệu tổng của số và tổng chữ số của nó có giống với số không thì dừng lại, nếu không thì tiếp tục.
Ví dụ
#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); }
Đầu ra
The value of x is: 15