Knuth's up-arrow notation

Cette semaine, c'est Jonathan qui vous propose un #KataOfTheWeek : Notation des puissances itérées de Knuth

Briefing du Kata : Vous connaissez l'addition, la multiplication et l'exponentiation. Une multiplication est une répétition d'additions. Une exponentiation est une répétition de multiplication.

Donald Knuth a introduit en 1976 la notation des puissances itérées. Un façon de représenter l'opération est ↑. Une flèche correspond à une suite de multiplications:

2 ↑ 4 = ?
= 2 * (2 * (2 * 2))
= 2^4
= 16

2 une suite d'exponentiations:

2 ↑↑ 4 = ?
= 2 ↑ (2 ↑ (2 ↑ 2))
= 2^2^2^2
= 65536

Un exemple avec 3 ↑↑↑

2 ↑↑↑ 3 = ?
= 2 ↑↑ (2 ↑↑ 2)
= 2 ↑↑ (2 ↑ 2)
= 2 ↑↑ (2 ^ 2)
= 2 ↑↑ 4
= 2 ↑ (2 ↑ (2 ↑ 2))
= 2 ^ 2 ^ 2 ^ 2
= 65536

À vous de coder une fonction réalisant ce calcul en fonction des 3 paramètres.

Un petit exemple de résultats

4 ↑ 3 = 64
4 ↑↑ 2 = 256
3 ↑↑ 3 = 7625597484987
3 ↑↑↑ 2 = 7625597484987

Saurez-vous résoudre le problème ?

Bon courage ! Retrouvez la solution dans cet article 😉

TakiVeille

TakiVeille