在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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP