Bonjour à tous,
Vous connaissez certainement les pangrammes, ces phrases qui utilisent au moins une fois chaque lettre de l'alphabet, comme par exemple « Portez ce vieux whisky au juge blond qui fume » ou encore celui-ci (en anglais) :
Avec les nombres, on peut s'amuser aussi.
Le nombre 975 798 s'écrit en toutes lettres en utilisant toutes les lettres de l'alphabet (sauf évidemment B, J, K, W et Y) : neuf cent soixante quinze mille sept cent quatre vingt dix huit.
Mais ce n'est sans doute pas le plus petit.
Question : Quel est le plus petit nombre positif qui s'écrit en utilisant toutes les lettres de l'alphabet (sauf B, J, K, W et Y) ?
Comme d'habitude, on écrit « à la française ».
Bonjour godefroy,
Le plus petit nombre positif qui s'écrit en utilisant toutes les lettres de l'alphabet (sauf B, J, K, W et Y) est 711899 .
Merci pour cette énigme !
Bonjour,
je propose 711899.
Il était temps que je fasse un programme qui donne l'écriture des nombres en toute lettres (je pourrai le réutiliser plus tard sûrement ^^). Donc en testant naïvement,... J'espère qu'il n'y a pas de fautes d'orthographe cette fois dans les mots (l'énigme avec les syllabes m'a vacciné).
Merci pour l'énigme !
Bonjour,
pas trouvé mieux que 711899, qui s'écrit:
sept cent onze mille huit cent quatre-vingt dix-neuf
(faut pas faire attention au tirets un peu au hasard, c'est pas encore très bien implémenté dans mon programme...)
un petit programme qui m'aura été fort utile:
def lettre(n):
x=int(n/100000)
a=int(n/10000)-10*x
b=int(n/1000)-100*x-10*a
c=int(n/100)-1000*x-100*a-10*b
d=int(n/10)-10000*x-1000*a-100*b-10*c
e=n-100000*x-10000*a-1000*b-100*c-10*d
L1=['un','deux','trois','quatre','cinq','six','sept','huit','neuf']
L2=['dix','vingt','trente','quarante','cinquante','soixante','soixante-dix','quatre-vingt','quatre-vingt-dix']
L3=['onze','douze','treize','quatorze','quinze','seize','dix-sept','dix-huit','dix-neuf']
l=''
if x==1:
l+=' cent '
if x>1:
l+=str(L1[x-1])+' cent '
if a==1:
if b>0:
l+=str(L3[b-1])
else:
l+='dix'
b=0
if (a>1 and a<7) or a==8:
l+=str(L2[a-1])
if a==9 or a==7:
if b>1 or (b==1 and a==9):
l+=str(L2[a-2])+' '+str(L3[b-1])
if b==0:
l+=str(L2[a-1])
if b==1 and a==7:
l+='soixante et onze'
b=0
if b>1:
l+=' '+str(L1[b-1])
if b==1 and a>0 and a<7:
l+=' et un'
if a!=0 or b!=0:
l+=' mille'
if c>1:
l+=' '+str(L1[c-1])+' cent'
if c==1:
l+=' cent'
if d==1:
if e>0:
l+=' '+str(L3[e-1])
else:
l+=' dix'
e=0
if (d>1 and d<7) or d==8:
l+=' '+str(L2[d-1])
if d==9 or d==7:
if e>1 or (e==1 and d==9):
l+=' '+str(L2[d-2])+' '+str(L3[e-1])
if e==0:
l+=' '+str(L2[d-1])
if e==1 and d==7:
l+=' soixante et onze'
e=0
if e>1:
l+=' '+str(L1[e-1])
if e==1 and d>0 and d<7:
l+=' et un'
if e==1 and d==0:
l+=' un'
print(l)
return(l)
il transcrit les nombres de 1 à 999999 en toute lettres, codé sur python.
(Bon, c'est sûrement pas le plus efficace possible...)
ça sent le poisson, mais remarquons qu'il est original:
il ne contient pas plus de 4 chiffres différents...
Bonjour,
C'est une énigme originale comme on les aime.
Comme on ne sait jamais d'avance qu'elle sera la meilleure
réponse ,j'ai évité de donner celle que j'avais au bout d'une heure
J'ai tourné jusqu'à trouver 711 899.
Bonjour
je vais tenter 711899, qui comporte vingt-et-une lettres distinctes.
s'il y a plus petit, je ne l'ai pas trouvé...
merci pour la joute, et à très bientôt
pour la curiosité, on obtient les plus petits nombres positifs pour :
10 lettres : 24
11 lettres : 53
12 lettres : 74
13 lettres : 92
14 lettres : 97
15 lettres : 197
16 lettres : 397
17 lettres : 1197
18 lettres : 1397
19 lettres : 2791
20 lettres : 11798
21 lettres : 711899
Bonsoir,
Je propose :
711899: sept cent onze mille huit cent quatre vingt dix neuf
Merci pour cet exercice !
Néanmoins, il y a une lacune dans l'énoncé parce qu'il y a aussi les nombres décimaux positifs :
on aurait alors N = 0,000...000711899
avec un nombre de zéros n <
Merci pour cette énigme ultra difficile !
Je propose sans aucune certitude : 714 899 sept cent quatorze mille huit cent quatre-vingt-dix-neuf.
Quelques éléments :
on peut remarquer que certains mots sont obligés d'apparaître à cause de certaines lettres qu'eux seuls contiennent :
Sept (P)
Huit (H)
Neuf (F)
Vingt (V & T)
Cent (à cause du mille)
Mille (M)
Nous avons donc réglé le compte de pleins de lettres :
C E F G H I L M N P S T U V
Restent A, D, O, Q, R, X et Z.
Pour faire Q, on peut utiliser quatre, quatorze ou quarante.
Donc si on fait Q, on fait du même coup A et R.
D peut se faire avec deux, dix ou douze.
O avec trois, onze, douze, quatorze ou soixante.
X avec deux, six ou dix.
Et Z avec onze, treize, quatorze, quinze ou seize.
Il faut donc trouver la combinaison optimale avec ces éléments.
Utiliser quatorze m'a paru pertinent puisqu'on fait Q, A, R, O et Z d'un coup.
Restent X et D, j'ai donc eu l'idée d'utiliser dix.
J'ai donc du trouver un nombre contenant au minimum :
Sept, huit, neuf, vingt, cent, mille, quatorze, dix.
Je n'ai pas trouvé mieux que 714 899 sept cent quatorze mille huit cent quatre-vingt-dix-neuf.
Mais on peut certainement trouver mieux.
La méthode la plus efficace étant bien sûr de faire un algorithme testant tous les entiers un par un, ce qu'on fait sans doute les gagnants de cette joute, mais c'est trop laborieux pour mon niveau.
À bientôt !
Erratum : j'ai inclus "vingt" dans la liste des obligatoires à cause du V et du G, et non à cause du V et du T bien sûr.
Félicitations à ksad pour cette très belle victoire.
Le joli mois de mai n'était pas facile.
Bravo également à spelecameleon pour son sans-faute.
merci Godefroy pour toutes ces belles énigmes
Bravo aussi à spelecameleon, qui me semble être un redoutable nouveau mathilien -- tout comme weierstrass d'ailleurs, même s'il a trébuché ce mois-ci...
Bonjour Godefroy,
je n'ai pas reçu votre avis sur les nombres décimaux positifs que j'avais signalés.
Merci de me donner votre impression
Amitiés
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :