输入正整数N,找到小于或等于它的最大数字,并且其数字从高位到低位是非递减的顺序。
格式
输入格式:输入正整数N
输出格式:输出整型
样例1
输入:200
输出:199
代码 检查是否为非递减 如果不是 则首位减1 末位都变为9
#include<bits/stdc++.h>
#include<string>
using namespace std;
int main( )
{
int n;
string s;
cin>>n;
s=to_string(n);
for(int i=0;i<s.size()-1;i++){
if(s[i]>s[i+1]){
s[i]=s[i]-1;
for(int j=i+1;j<s.size();j++){
s[j]='9';
}
break;
}
}
if(s[0]=='0') cout<<s.substr(1);
else cout<<s;
return 0;
}