Grains

Grains

Moyen

Introduction

Il était une fois un serviteur sage qui sauva la vie d'un prince. Le roi promit de payer tout ce que le serviteur pourrait imaginer. Sachant que le roi aimait les échecs, le serviteur lui dit qu'il aimerait recevoir des grains de blé. Un grain sur la première case d'un échiquier, le nombre de grains doublant à chaque case suivante.

Instructions

Calcule le nombre de grains de blé sur un échiquier.

Un échiquier comporte 64 cases. La case 1 contient un grain, la case 2 en contient deux, la case 3 en contient quatre, et ainsi de suite, en doublant à chaque fois.

Écris du code qui calcule :

  • le nombre de grains sur une case donnée
  • le nombre total de grains sur l'échiquier

Valeur entière maximale

D'après la documentation de Vim :

En supposant que des nombres de 64 bits soient utilisés (voir v:numbersize), un nombre non signé est tronqué à 0x7fffffffffffffff, soit 9223372036854775807.

Autrement dit, le Vim script ne peut pas exprimer un nombre supérieur ou égal à 2^63 sous forme d'entier.

Certains tests de cet exercice nécessitent des entiers de 64 bits, ce qui dépasse la limite de taille des entiers du Vim script. Pour cette raison, les résultats des calculs sont comparés à une string qui exprime la valeur entière, plutôt que d'exprimer la réponse sous forme d'Integer. Peux-tu résoudre ce problème en évitant les nombres plus grands que ce que le langage autorise directement ?

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Vim script Exercism

Prêt à commencer Grains ?

Inscris-toi sur Exercism pour apprendre et maîtriser Vim script avec 89 exercices, et un vrai mentorat humain, le tout gratuitement.