Le défi cette fois est de trouver le n ème Fibohexaprime . La définition d'un Fibohexaprime est la suivante:
Nous observons d'abord une liste avec des nombres de Fibonacci:
N | Fibonacci number
1 | 1
2 | 1
3 | 2
4 | 3
5 | 5
6 | 8
7 | 13
8 | 21
9 | 34
10 | 55
11 | 89
12 | 144
13 | 233
14 | 377
15 | 610
16 | 987
17 | 1597
Après cela, nous convertissons les nombres en hexadécimal:
N | Fib | Hex
1 | 1 | 1
2 | 1 | 1
3 | 2 | 2
4 | 3 | 3
5 | 5 | 5
6 | 8 | 8
7 | 13 | D
8 | 21 | 15
9 | 34 | 22
10 | 55 | 37
11 | 89 | 59
12 | 144 | 90
13 | 233 | E9
14 | 377 | 179
15 | 610 | 262
16 | 987 | 3DB
17 | 1597 | 63D
À partir des nombres hexadécimaux, nous filtrons les lettres. Il ne nous reste que des chiffres. Nous devons vérifier si ces nombres sont premiers:
hex | filtered | is prime? | N =
1 > 1 > false
1 > 1 > false
2 > 2 > true 1
3 > 3 > true 2
5 > 5 > true 3
8 > 8 > false
D > 0 > false
15 > 15 > false
22 > 22 > false
37 > 37 > true 4
59 > 59 > true 5
90 > 90 > false
E9 > 9 > false
179 > 179 > true 6
262 > 262 > false
3DB > 3 > true 7
63D > 63 > false
Si le nombre filtré est un nombre premier, nous appelons cela un Fibohexaprime . Vous pouvez voir que pour N = 7
, le nombre de fibonacci associé est 987.
La tâche est simple, quand on lui donne une entrée en utilisant STDIN ou une alternative acceptable, écrire un programme ou une fonction qui sort le nième Fibohexaprime en utilisant STDOUT ou une alternative acceptable.
Cas de test
Input - Output
1 - 2
2 - 3
3 - 5
4 - 55
5 - 89
6 - 377
7 - 987
8 - 28657
9 - 75025
10 - 121393
11 - 317811
12 - 5702887
13 - 9227465
14 - 39088169
15 - 102334155
16 - 32951280099
17 - 4052739537881
18 - 806515533049393
19 - 7540113804746346429
Les règles:
- Étant donné un entier compris entre
1
et19
(les valeurs ci-dessus20
dépassent la valeur maximale pour un entier signé 64 bits), affichez la valeur correspondante. - Vous pouvez écrire une fonction ou un programme.
- C'est du code-golf , donc la soumission avec le moins d'octets gagne!