蓝桥杯模拟题

    科技2022-07-10  128

    <p>【问题描述】 <p>一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数,例如1135是一个数位递增的数,而1024不是一个数位递增的数。 <br>给定正整数 n,请问在整数 1 至 n 中有多少个数位递增的数? <br>【输入格式】 <br>输入的第一行包含一个整数 n。 <br>【输出格式】 <br>输出一行包含一个整数,表示答案。 <br>【样例输入】 <br>30 <br>【样例输出】 <br>26 <br>【评测用例规模与约定】 <br>对于 40% 的评测用例,1 <= n <= 1000。 <br>对于 80% 的评测用例,1 <= n <= 100000。 <br>对于所有评测用例,1 <= n <= 1000000。

    #include <stdlib.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int sum=0; int main(int argc, char *argv[]) { int n,i; scanf("%d",&n); for(i=1;i<=n;i++) { int a0=i,a1=(i/10),a2=(i/100),a3=(i/1000),a4=(i/10000),a5=(i/100000),a6=i/1000000; if(a0>=a1) if(a1>=a2) if(a2>=a3) if(a3>=a4) if(a4>=a5) if(a5>=a6) sum++; } printf("%d",sum); return 0; }

     

    Processed: 0.010, SQL: 8