小b有一个非负整数 N,她想请你找出 ≤N≤N 的最大整数x,满足x各个位数上的数字是不降的。也就是说,设x的十进制表示为 a1,a2,…,ama1,a2,…,am,则对于任意 1≤i<m1≤i<m,ai≤ai+1ai≤ai+1。
N
收起
输入一个非负整数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; } } }
2499 不降的数字
原文:https://www.cnblogs.com/dajie/p/10712708.html