小于 N 且数位和大于 C++ 中 N 的数位和的最大数
在本教程中,我们将编写一个程序,找出小于N且位数和大于n的数。
让我们看看解决问题的步骤。
编写一个函数来计算数字总和。
初始化n。
编写一个从n-1到1迭代的循环。
用n的位数和检查当前号码的位数和。
如果当前数字的位数总和大于n,则返回当前数字。
移动到下一个数字。
示例
让我们看看代码。
#include输出结果using namespace std; int sumOfDigits(int n) { int digitsSum = 0; while (n > 0) { digitsSum += n % 10; n /= 10; } return digitsSum; } int findLargestNumber(int n) { int i = n - 1; while (i > 0) { if (sumOfDigits(i) > sumOfDigits(n)) { return i; } i--; } return -1; } int main() { int n = 75; cout << findLargestNumber(n) << endl; return 0; }
如果你运行上面的代码,那么你会得到下面的结果。
69
结论
如果您对本教程有任何疑问,请在评论部分提及。