46 lines
No EOL
1.4 KiB
Markdown
46 lines
No EOL
1.4 KiB
Markdown
# Fibonacci myopia:
|
|
## Description:
|
|
Dans le cyberespace, j'ai rencontré une IA qui est un clone de Fibonacci.
|
|
|
|
Celui-ci est un grand distrait et pour s'inscrire à Peer-at-Code
|
|
il a encodé son mot de passe (le millième nombre de sa suite) sans ses lunettes.
|
|
|
|
Du coup il a surement décallé ses mains sur son clavier QWERTY (j'ai l'impression de deux touches vers la droite)
|
|
et il n'arrive plus à se connecter.
|
|
|
|
Peux-tu vérifier s'il a bien décaler de deux touches vers la droite ?
|
|
## Solution:
|
|
indice (style hover): Les deux premiers nombres de la suite sont 1 et 1.
|
|
J'ai écrit ce script python pour résoudre le challenge:
|
|
```python
|
|
# Utilise un qwerty donc les nums ne nécessitent pas un shift + décalage de 2 sur la droite:
|
|
MYOPIA = {1:'3',2:'4',3:'5',4:'6',5:'7',6:'8',7:'9',8:'0',9:'-',0:'='}
|
|
|
|
def fibonacci():
|
|
#n[2] = n[0] + n[1]
|
|
#n[x] = n[x-2] + n[x-1]
|
|
n = [1,1]
|
|
while len(n) < 1000:
|
|
n.append(n[-1]+n[-2])
|
|
|
|
return str(n[-1])
|
|
|
|
|
|
def myopia_conversion(seq):
|
|
res = ''
|
|
for num in seq:
|
|
res += MYOPIA[int(num)]
|
|
|
|
return res
|
|
|
|
|
|
def main():
|
|
fib = fibonacci()
|
|
print(myopia_conversion(fib))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
```
|
|
Le flag est le résultat qui est :
|
|
65688779808-59678657800749897=6=8470=478688=73959390=6=460394-=0-758777639-6-=730-=6=509-06==9-47738-4-7-447-5=0=5448569974=-80-84545-095544693383864--866=-=8755309-504-0-8-86--40738==59=66983599-738806-440097 |