Inspirado por esta entrada Numberphile
fundo
Os números de distância do cubo de um número inteiro n são definidos aqui como o conjunto de números inteiros que estão a distância de x³ para um dado x . Para um exemplo simples, com n=100
e x=2
, os números da distância do cubo são {92,108}
.
Isso pode ser estendido para um conjunto maior simplesmente variando x . Com x ∈ {1,2,3,4}
o mesmo n=100
, temos o conjunto resultante {36,73,92,99,101,108,127,164}
.
Vamos definir CD (n, x) como o conjunto de todos os números inteiros n ± z³
com z ∈ {1,2,3,...,x}
.
Agora, podemos nos concentrar em algumas das propriedades especiais desses números de distância do cubo . Das muitas propriedades especiais que os números podem ter, as duas propriedades nas quais estamos interessados aqui são primalidade e divisores primos .
Para o exemplo acima CD (100,4) , observe que 73, 101, 127
todos são primos. Se removermos aqueles do conjunto, ficaremos com {36,92,99,108,164}
. Todos os divisores primos desses números são (em ordem) {2,2,3,3,2,2,23,3,3,11,2,2,3,3,3,2,2,41}
, o que significa que temos 5 divisores primos distintos {2,3,23,11,41}
. Podemos, portanto, definir que o CD (100,4) possui voracidade 1 de 5
.
O desafio aqui é escrever uma função ou programa, no menor número de bytes, que produza a voracidade de uma determinada entrada.
Entrada
- Dois números inteiros positivos
n
ex
, em qualquer formato conveniente.
Resultado
- Um único número inteiro que descreve a intensidade dos dois números de entrada, quando calculado com CD (n, x) .
Regras
- A entrada / saída pode ser feita através de qualquer método adequado .
- Aplicam-se restrições de brecha padrão .
- Para facilitar o cálculo, você pode assumir que os dados de entrada serão tais que o CD (n, x) terá apenas números positivos no conjunto (ou seja, nenhum CD (n, x) terá números negativos ou zero).
- A função ou o programa deve poder manipular números de entrada para que
n + x³
se encaixem no tipo de dados inteiro nativo do seu idioma. Por exemplo, para um tipo inteiro assinado de 32 bits, todos os números de entrada comn + x³ < 2147483648
são possíveis.
Exemplos
n,x - output
2,1 - 0 (since CD(2,1)={1,3}, distinct prime divisors={}, ravenity=0)
5,1 - 2
100,4 - 5
720,6 - 11
Notas de rodapé
1 - Assim nomeado porque não estamos interessados na cardinalidade do conjunto, mas em um tipo diferente de pássaro. Como estamos lidando com divisores "comuns", escolhi usar o corvo comum .
100,4
é o exemplo que o OP explica na seção Background. Seu erro parece ser que você deveria considerar tudo 1..x
, então, [1,2,3,4]
neste caso.
100,4
rende 5? Os números da distância do cubo desse conjunto são36,164
e os principais fatores desse conjunto são2,3,41
(já que os fatores desse conjunto são{2, 3, 4, 6, 9, 12, 18, 36}
e{2, 4, 41, 82, 164}
, respectivamente). Portanto, a saída deve ser de 3, não 5.