您的位置:首页 > 其它

2020年蓝桥杯第十一届校内赛真题解析--算法设计--数位递增

2020-04-02 07:24 796 查看

2020年蓝桥杯第十一届校内赛真题解析--算法设计--数位递增

比赛记录

本人于2020年3月14日14:00~18:00,参加了本校组织的校内模拟赛 。
本次校内模拟赛的感受较好,我觉得这次的难度适中,大家应该都可以取得自己理想的成绩。

问题描述

一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数,例如1135是一个数位递增的数,而1024不是一个数位递增的数。
  给定正整数 n,请问在整数 1 至 n 中有多少个数位递增的数?

输入格式

输入的第一行包含一个整数 n。

输出格式

输出一行包含一个整数,表示答案。

样例输入

30

样例输出

26

评测用例规模与约定

对于 40% 的评测用例,1 <= n <= 1000。
 对于 80% 的评测用例,1 <= n <= 100000。
 对于所有评测用例,1 <= n <= 1000000。

解析

import java.util.Scanner;

public class Main {
public static int n=0,count=0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
sc.close();
f(0,1);
System.out.println(count-1);
}
public static  void f(int num,int temp){
if(num>n){
return;
}
else{
//			System.out.println(num);
count++;
}
for (int i = temp; i <10; i++) {
f(num*10+i,i);
}
}

}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
星宇_大佬养成时 发布了10 篇原创文章 · 获赞 0 · 访问量 90 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐