implementación de Java del número cada vez mayor el puente taza azul analógico

Descripción del problema
  Un dígito entero positivo si no más que cualquier dígito a la derecha adyacente se llama el aumento de número de un dígito, por ejemplo, 1135 es un número incremental digital, en lugar de un número de 1024 dígitos se incrementa.
  Dado un número entero positivo n, nos preguntamos cuántos dígitos en el aumento del número de enteros de 1 a n?
Formato de entrada
  de la primera línea de la entrada contiene un número entero n.
Formato de salida
  de línea de salida contiene un entero que representa la respuesta.
Ejemplo de entrada
30
Salida de muestra
26
opiniones acuerdo con el tamaño de los casos
  para la evaluación por 40% en el Ejemplo, 1 <= n <= 1000 .
  Para la evaluación por 80% en el Ejemplo, 1 <= n <= 100.000 .
  Para la evaluación todos los casos de uso, 1 <= n <= 1.000.000 .

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);
		}
	}
	

}

Liberadas 1472 artículos originales · ganado elogios 10000 + · vistas 1,76 millones +

Supongo que te gusta

Origin blog.csdn.net/a1439775520/article/details/104750295
Recomendado
Clasificación