递增数
问题描述
一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数。
例如1135是一个数位递增的数,而1024不是一个数位递增的数。
给定正整数 n,请问在整数 1 至 n 中有多少个数位递增的数?
输入格式
输入的第一行包含一个整数 n。
输出格式
输出一行包含一个整数,表示答案。
样例输入
30
样例输出
26
评测用例规模与约定
对于 40% 的评测用例,1 <= n <= 1000。
对于 80% 的评测用例,1 <= n <= 100000。
对于所有评测用例,1 <= n <= 1000000。
时间 1s
import java.util.Scanner;
public class llq1{
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int n=s.nextInt();
int count=9;
if(n==0)
return;
else if(n>=1&&n<=9) {
System.out.println(n);
}
else {
for(int i=10;i<=n;i++) {
int x=1;
int y=1;
int j=i;
while(y!=0) {
x=j%10;
y=j/10%10;
if(x<y)
break;
j=j/10;
}
if(y==0)
count++;
}
}
System.out.println(count);
}
}
没有评测环境==