Étant donné entier positif n > 2. Nous le convertissons en un tableau comme suit:
- S'il est égal à
2retourner un tableau vide - Sinon, créez un tableau de tous
nles facteurs premiers triés par ordre croissant, puis chaque élément est remplacé par son index dans la séquence des nombres premiers et convertit finalement chaque élément en tableau.
Par exemple, permet de convertir un nombre 46en tableau. Tout d’abord, convertissez-le en un tableau de ses facteurs premiers:
[2, 23]
Le nombre 23est 9th prime, alors remplacez-le 2par un tableau vide et 23par [9]. Le tableau devient maintenant:
[[], [9]]
Les facteurs premiers 9sont 3et 3, donc:
[[], [3, 3]]
Faites la même chose pour les deux 3:
[[], [[2], [2]]]
Et enfin:
[[], [[[]], [[]]]]
Maintenant, pour l'encoder, nous remplaçons simplement chaque crochet ouvert par 1et chaque crochet de fermeture 0, puis supprimons tous les zéros 1finals et en supprimons un de la fin. Ceci est notre nombre binaire. En utilisant l'exemple ci-dessus:
[ ] [ [ [ ] ] [ [ ] ] ]
| | | | | | | | | | | |
| | | | | | | | | | | |
V V V V V V V V V V V V
1 0 1 1 1 0 0 1 1 0 0 0
Maintenant, supprimez simplement les trois derniers zéros et le dernier 1. Le nombre devient 10111001ce qui est 185en décimal. C'est la sortie attendue. Notez que dans un tableau, les crochets de conversion du tableau principal ne sont pas inclus.
Contribution
Nombre entier positif nsupérieur à 2.
Sortie
Entier codé n.
Règles et format IO
- Les règles standard s'appliquent.
- L'entrée peut être une chaîne ou un nombre (mais dans le cas d'une chaîne, il doit être en base 10).
- La sortie peut être une chaîne ou un nombre (mais dans le cas d'une chaîne, elle doit être en base 10).
- C'est code-golf , la réponse la plus courte en octets gagne!
Cas de test
Plus de cas de test sur demande.
3 ---> 1
4 ---> 2
5 ---> 3
6 ---> 5
7 ---> 6
8 ---> 10
9 ---> 25
10 ---> 11
10000 ---> 179189987
10001 ---> 944359
10002 ---> 183722
10003 ---> 216499
10004 ---> 2863321
10005 ---> 27030299
10006 ---> 93754
10007 ---> 223005
10008 ---> 1402478
2car les soumissions ne sont pas nécessaires pour le gérer.