啊啊啊182 2023-10-23 20:27 采纳率: 0%
浏览 16

当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。输入一个整数 n ,输出小 于或等于 n 的最大数字,且数字呈单调递增

当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y
时,我们称这个整数是单调递增的。输入一个整数 n ,输出小
于或等于 n 的最大数字,且数字呈单调递增 。

  • 写回答

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;  
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月23日