当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y
时,我们称这个整数是单调递增的。输入一个整数 n ,输出小
于或等于 n 的最大数字,且数字呈单调递增 。
当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。输入一个整数 n ,输出小 于或等于 n 的最大数字,且数字呈单调递增
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
易只轻松熊 2023-10-23 21:35关注#include <iostream> #include <string> using namespace std; // 判断一个数字是否为单调递增数 bool isIncreasing(int num) { string str = to_string(num); for (int i = 0; i < str.size() - 1; i++) { if (str[i] > str[i + 1]) { return false; } } return true; } // 找到小于或等于n的最大单调递增数字 int findMaxIncreasing(int n) { int maxNum = 0; while (maxNum < n) { if (isIncreasing(maxNum)) { maxNum++; } else { break; } } return maxNum; } int main() { int n; cout << "请输入一个整数n:" << endl; cin >> n; int maxIncreasing = findMaxIncreasing(n); cout << "小于或等于" << n << "的最大单调递增数字为:" << maxIncreasing << endl; return 0; }解决 无用评论 打赏 举报