使用 C++ 查詢一個數字 x,使得 x 及其各位數字之和等於給定的 n。
這裡我們將看到一個問題,我們取一個數字 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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP