Com base na pergunta Quantos números inteiros positivos <1.000.000 contêm o dígito 2? . Estou procurando a solução mais criativa para contar todos os números inteiros de X
para Y
conter o número inteiro Z
. Z
pode ser de 0 a Y
.
Todo número inteiro encontrado conta apenas uma vez, mesmo que o número inteiro Z
apareça com mais frequência. Por exemplo:
Z = 2
123 counts 1
22222 also counts 1
Começarei com um algoritmo realmente simples escrito em Java (porque é amado por todos):
public class Count {
public static void main(String[] args) {
int count = 0;
for (int i = Integer.parseInt(args[0]); i <= Integer.parseInt(args[1]); i++) {
if (Integer.toString(i).contains(args[2])) {
count++;
}
}
System.out.println(count);
}
}
se você executar isso com
java -jar Count.jar 0 1000000 2
você obtém isso como resultado:
468559
Como esse problema não é difícil de resolver, é apenas um concurso de popularidade . A resposta mais votada até 28 de fevereiro vence!
N
pode ser 123
e só corresponderia se a substring 123 existir?