• Java实现蓝桥杯模拟递增的数


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

    package 第十三次模拟;
    
    import java.util.Scanner;
    
    public class Demo7递增数 {
    	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);
    		}
    	}
    	
    
    }
    
    
  • 相关阅读:
    邪恶的强制数据转换
    知识普及
    判断是否为一个数字
    parseInt
    webpack学习记录
    数组隐藏属性
    elasticSearch基本使用
    elasticsearch安装和部署
    neo4j索引
    spark yarn 提交作业
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13075182.html
Copyright © 2020-2023  润新知