Em muitas fontes (especificamente na fonte Consolas ), 5 dos 10 dígitos decimais têm "buracos". Vamos chamar esses dígitos sagrados:
46890
Os 5 dígitos profanos são assim:
12357
Um número inteiro pode, portanto, ser classificado como "sagrado" se contiver apenas dígitos sagrados e "profano" caso contrário. Por -
ser profano, nenhum número inteiro negativo pode ser sagrado.
Inteiros sagrados podem ser classificados ainda com base em quantos buracos eles têm. Por exemplo, os seguintes dígitos têm uma santidade de 1:
469
E esses dígitos têm uma santidade de 2:
80
Dizemos que a santidade geral de um número inteiro é a soma da santidade de seus dígitos. Portanto, 80
teria uma santidade de 4 e 99
teria uma santidade de 2.
O desafio
Dado dois inteiros n > 0
e h > 0
, produza o n
th santo inteiro cuja santidade é pelo menos h
. Você pode assumir que as entradas e saídas não serão maiores que o número máximo máximo representável no seu idioma ou 2^64 - 1
, o que for menor.
Aqui está uma lista dos primeiros 25 inteiros sagrados com santidade h >= 1
, para referência:
0, 4, 6, 8, 9, 40, 44, 46, 48, 49, 60, 64, 66, 68, 69, 80, 84, 86, 88, 89, 90, 94, 96, 98, 99
Os primeiros 25 inteiros sagrados com santidade h >= 2
são:
0, 8, 40, 44, 46, 48, 49, 60, 64, 66, 68, 69, 80, 84, 86, 88, 89, 90, 94, 96, 98, 99, 400, 404, 406
0
tem uma santidade de dois" antes de eu finalmente clicado no link wikipedia para Consolas