Inspiré par cette entrée Numberphile
Contexte
Les nombres de distance de cube d'un entier n sont définis ici comme l'ensemble des entiers qui sont à une distance de x³ pour un x donné . Pour un exemple simple, avec n=100
et x=2
, les nombres de distance de cube sont {92,108}
.
Cela peut être étendu à un ensemble plus grand en faisant simplement varier x . Avec x ∈ {1,2,3,4}
et le même n=100
, nous avons l'ensemble résultant {36,73,92,99,101,108,127,164}
.
Définissons CD (n, x) comme l'ensemble de tous les entiers n ± z³
avec z ∈ {1,2,3,...,x}
.
Nous pouvons maintenant nous concentrer sur certaines des propriétés spéciales de ces nombres de distance de cube . Parmi les nombreuses propriétés spéciales que les nombres peuvent avoir, les deux propriétés qui nous intéressent ici sont la primauté et les diviseurs premiers .
Pour l'exemple CD ci-dessus (100,4) , notez qu'ils 73, 101, 127
sont tous premiers. Si nous les supprimons de l'ensemble, nous nous retrouvons avec {36,92,99,108,164}
. Tous les diviseurs premiers de ces nombres sont (dans l'ordre) {2,2,3,3,2,2,23,3,3,11,2,2,3,3,3,2,2,41}
, ce qui signifie que nous avons 5 diviseurs premiers distincts {2,3,23,11,41}
. On peut donc définir que CD (100,4) a la corvée 1 de 5
.
Le défi ici est d'écrire une fonction ou un programme, dans le moins d'octets, qui génère la ravenity d'une entrée donnée.
Contribution
- Deux entiers positifs
n
etx
dans n'importe quel format pratique.
Production
- Un entier unique décrivant la ravenity des deux nombres d'entrée, lorsqu'il est calculé avec CD (n, x) .
Règles
- L'entrée / sortie peut se faire via n'importe quelle méthode appropriée .
- Des restrictions standard contre les échappatoires s'appliquent.
- Pour faciliter le calcul, vous pouvez supposer que les données d'entrée seront telles que CD (n, x) n'aura que des nombres positifs dans l'ensemble (c'est-à-dire qu'aucun CD (n, x) n'aura jamais de nombres négatifs ou zéro).
- La fonction ou le programme doit être en mesure de gérer les numéros d'entrée de manière à ce qu'ils
n + x³
correspondent au type de données entier natif de votre langue. Par exemple, pour un type entier signé 32 bits, tous les numéros d'entrée avecn + x³ < 2147483648
sont possibles.
Exemples
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
Notes de bas de page
1 - Ainsi nommé car nous ne nous intéressons pas à la cardinalité de l'ensemble, mais à un type d'oiseau différent. Puisque nous avons affaire à des diviseurs "communs", j'ai choisi d'utiliser le corbeau commun .
100,4
est l'exemple expliqué par l'OP dans la section Contexte. Votre erreur semble être que vous devriez considérer tout 1..x
, donc [1,2,3,4]
pour ce cas.
100,4
donne 5? Les nombres de distance de cube de cet ensemble sont36,164
, et les facteurs premiers de cet ensemble sont2,3,41
(puisque les facteurs de cet ensemble sont{2, 3, 4, 6, 9, 12, 18, 36}
et{2, 4, 41, 82, 164}
, respectivement). Par conséquent, la sortie doit être de 3, pas de 5.