write-up-peerat-2023/fibonacci_myopia.md
2023-05-03 01:28:02 +02:00

1.4 KiB

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:

# 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