Voici quelques énigmes adaptées du livre "100 énigmes mathématiques résolues avec Python", de N. Lecouvey, qui en contient bien d'autres.
Pré-requis : les bases de Python (fonctions, tests, boucles for).
Dans un livre de mathématiques, un imprimeur remplace l'expression \(5^4 2^3\) (qui vaut 5000) par 5423, qui ne représente donc pas le même nombre !
Ecrivez un programme qui cherche s'il existe un ou des expressions de la même forme, formée(s) par des chiffres de 1 à 9, pour laquelle l'erreur de l'imprimeur serait sans conséquence.
Le nombre 49 est un carré parfait qui est composé de deux chiffres (4 et 9) qui sont aussi des carrés parfaits.
Ecrivez un programme qui cherche s'il existe un ou des nombres de 4 chiffres qui seraient des carrés parfaits et qui seraient "formés" de deux carrés parfaits de deux chiffres.
Par exemple : 3664 est formé de deux carrés parfaits de deux chiffres mais n'est pas un carré parfait : il ne répond pas à la question...
Avant une bataille, un général romain veut disposer ses soldats en deux carrés.
Ainsi, si le bataillon comporte 13 soldats alors le général pourra les disposer en deux carrés de 4 et 9 soldats.
Par contre, s'il y a 14 soldats alors le général ne pourra pas les disposer comme il le souhaite.
Essayez d'écrire une fonction `repartir_en_carres` en Python qui aurait permis au général de savoir rapidement à quoi s'en tenir.
Peut-on répartir 2021 soldats ainsi ?
Par exemple :
>>> repartir_en_carres(65) 65 = 1 + 64 65 = 16 + 49 >>> repartir(14) Impossible, désolé mon général !
Un homme va à la banque pour retirer en liquide le montant d'un chèque qu'il a reçu.
Le guichetier, pas bien réveillé, lui rend par erreur les euros à la place des centimes et les centimes à la place des euros.
Notre homme ne remarque rien et avant de rentrer chez lui achète un journal à un euro et trente centimes.
Rentré chez lui, il constate qu'il lui reste deux fois le montant du chèque...
Quel était le montant de ce chèque ?