题目描述
一个正整数如果任何一个数位小于等于右边相邻的数位,则称为一个数位递增数。
例如:
1135 是一个数位递增数
1024 不是一个数位递增数
输入一个正整数 n(11<n<10001),输出 11 到 n(包含11和n)中有多少个数位递增数。
例如:输入 15,11 到 15 之间的数位递增数有:11、12、13、14、15。一共有 5 个。
输入
输入一个正整数 n(11<n<10001)
输出
输出 11 到 n 中有多少个数位递增数
思路:可以编一个函数,用于判断这个数是否为数位递增数
程序如下:
#include<bits/stdc++.h>
using namespace std;
int n,cnt;
bool check(int x){
int now=1e5,pre=0;
while(x>0){
pre=now;
now=x%10;
if(pre<now)return false;
x/=10;
}
return true;
}
int main(){
cin>>n;
for(int i=11;i<=n;i++)if(check(i))cnt++;
cout<<cnt;
return 0;
}