2499 不降的数字
- 2 秒
- 262,144 KB
- 10 分
- 2 级题
小b有一个非负整数 N
,她想请你找出 ≤N≤N 的最大整数x,满足x各个位数上的数字是不降的。也就是说,设x的十进制表示为 a1,a2,…,ama1,a2,…,am,则对于任意 1≤i<m1≤i<m,ai≤ai+1ai≤ai+1。
收起
输入
输入一个非负整数N。 0≤N≤10^9
输出
输出一个整数,表示答案
输入样例
332
输出样例
299
#include<bits/stdc++.h>
using namespace std;
int f(int n)
{
int l=0;
char a[10];
while(n)
{
a[l++]=n%10;
n/=10;
if(l>=2)
{
if (a[l - 1] > a[l - 2])
return 0;
}
}
return 1;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=n;i>0;i--)
{
if(f(i))
{
printf("%d\n",i);
return 0;
}
}
}