问题描述
一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数,例如1135是一个数位递增的数,而1024不是一个数位递增的数。
给定正整数 n,请问在整数 1 至 n 中有多少个数位递增的数?
输入格式
输入的第一行包含一个整数 n。
输出格式
输出一行包含一个整数,表示答案。
样例输入
30
样例输出
26
评测用例规模与约定
对于 40% 的评测用例,1 <= n <= 1000。
对于 80% 的评测用例,1 <= n <= 100000。
对于所有评测用例,1 <= n <= 1000000。
#include<stdio.h>
main()
{
int n,i,j,g,s,count=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
j=i;
while(j!=0)
{
g=j%10;
s=j/10%10;
if(g<s) break;
j=j/10;
}
if(j==0) count++;
}
printf("count=%d\n",count);
}