Bonjour à tous,
Parce qu'il n'y a pas que les chiffres dans la vie, je vous propose de jouer un peu avec les lettres.
En début de sixième, ma fille a revu l'écriture des nombres en toutes lettres. Ca m'a donné l'idée suivante :
On prend tous les nombres composés des chiffres 1 à 7 utilisés une seule fois chacun.
On les écrit en toutes lettres et on les classe dans l'ordre alphabétique.
Question : quel nombre est situé en 2010ème position ? (vous pouvez donner la réponse en chiffres )
Important : les nombres seront exprimés « à la française », c'est-à-dire avec nos satanés soixante dix, soixante et onze, etc… (désolé pour nos amis francophones qui ont des règles pourtant plus logiques !)
Petits rappels d'orthographe (n'hésitez pas à consulter le Bescherelle si besoin) :
- mille est toujours invariable,
- cent ne prend un « s » que s'il est le dernier mot (comme dans deux cents),
- vingt ne prend un « s » que dans quatre-vingts.
Mais, dans le cas présent, ils sont toujours invariables puisqu'il n'y a ni zéro, ni huit.
Très important : pour éviter les oublis (et les erreurs de tri), on n'utilisera aucun trait d'union !
Par exemple, 2 543 671 s'écrit deux millions cinq cent quarante trois mille six cent soixante et onze.
Bonjour Godefroy_lehardi,
Le décompte est laborieux, avec des erreurs plus ou moins sournoises possibles . Je propose quand même :
4 631 725 ( quatre millions six cent trente et un mille sept cent vingt cinq )
Bonjour Godefroid.
Les premiers nombres sont ceux qui commencent par 5, puis ceux qui commencent par 2 : ils sont au nombre de 1440.
Il reste 570 nombres, commençant par 4.
Les nombres commençant par 41, 45, 42, 47 en fournissent 480.
Il faut encore 90 nombres, commençant par 46.
Les nombres commençant par 465 en fournissent 24.
Les nombres commençant par 4612, 4617, et 4615 en fournissent 18.
Les nombres commençant par 467 en fournissent 24.
Les nombres commençant par 4613 en fournissent 6.
Il reste 18 nombres commençant par 463.
Ceux qui commencent par 4635 et 4632 en fournissent 12.
Ceux qui commencent par 4631 fournissent les six derniers.
La solution est 4631725 (quatre millions six cent trente et un mille sept cent vingt-cinq)
Bonjour,
alors en faisant ça vite fait sous excel (gare au poisson...), je propose 4631725
(pour moi l'exemple est le numéro 870, parmi les 5040 nombres allant de 5142763 à 1326745)
Merci pour l'énigme triée sur le volet
Bonjour godefroy_lehardi,
Ca prend du temps à tout écrire...
Je propose quand même : 4 631 725.
Merci encore pour toutes ces énigmes interessantes et variées...
Bonjour,
Je propose : 4 631 725.
Merci pour cette énigme rigolotte... mais "périlleuse" ...
Explication :
Viennent par ordre alphébétique, les groupes suivants (entre parenthèses : l'effectif du groupe) :
cinq millions (6! = 720)
deux millions (6! = 720)
quatre millions cent (5! = 120)
quatre millions cinq cent (5! = 120)
quatre millions deux deux cent (5! = 120)
quatre millions sept cent (5! = 120)
quatre millions six cent cinquante (4! = 24)
quatre millions six cent dix sept (3! = 6)
quatre millions six cent douze (3! = 6)
quatre millions six cent quinze (3! = 6)
quatre millions six cent soixante (4! = 24)
quatre millions six cent treize (3! = 6)
quatre millions six cent trente cinq (3! = 6)
quatre millions six cent trente deux (3! = 6)
quatre millions six cent trente et un (3! = 6)
Soit au total : 2*720 + 4*120 + 2*24 + 7*6 = 2010
Donc, le nombre cherché est le dernier par ordre alphabétique du groupe commençant par 4631
(quatre millions six cent trente et un mille). L'examen des six possibilités restantes pour compléter le nombre cherché (572, 527, 257, 275, 752, 725) donne 725 (sept cent ving cinq) comme dernier nombre du groupe.
Bonsoir,
En allant un peu vite (mais j'ai pas vraiment le temps de vérifier davantage) je trouve que le 2010ième est : 4 736 323
(j'ai considéré, et j'espère que c'est ce qu'il fallait faire, les nombres s'écrivant à l'aide des chiffres de 1 à 7, tous utilisés UNE et une seule fois, j'espère que l'on ne pouvait pas considérer les nombres ne dépassant pas le million.)
Merci pour l'énigme (qui serait certainement intéressante à vérifier en programmation, ne serait-ce que pour se casser la tête à apprendre nos règles d'orthographes à la machine de façon efficace, mais j'ai vraiment pas le temps ce soir. Ce week end peut être.)
Bonsoir godefroy,
4631725
quatre millions six cent trente et un mille sept cent vingt cinq
ou quatremillionssixcenttrenteetunmilleseptcentvingtcinq
Bonsoir godefroy_lehardi
Quel casse-tête ! Je ne suis pas certain de ne pas en avoir oubliés, mais on a essayé de faire cela de façon rationnelle avec les factorielles
Ma proposition pour la 2010ème place : 4 637 215 = quatre millions six-cent-trente-sept-mille-deux-cent-quinze (traits d'union pour tenir compte de l'orthographe recommandée depuis 1990)
Bonjour,
Il m'a fallu pas mal de temps...
J'ai supposé qu'on ne tenait compte que des nombres de 7 chiffres sans 0, 8 ni 9.
Moyennant quoi, je propose: 4631725 soit:
Quatre millions six cent trente et un mille sept cent vingt cinq.
Merci godefroy_lehardi
Bonsoir,
le nombre cherché contient 7 chiffres de 1 à 7. Les permutations donnent 5040 solutions différentes.
Pour chaque chiffre au rang des millions, on a 720 solutions. Soit , par ordre alphabétique
cinq millions... 720 solutions de 1 à 720
deux millions... 720 solutions de 721 à 1440
quatre millions... 720 solutions de 1441 à 2160
Pour trouver le 2010e nombre on doit explorer la tranche des 4 millions...
Il reste 6 chiffres; pour chacun d'eux il y a 120 solutions.
L'ordre alphabétique des centaines de mille sera:
cent... mille ( le un ne se prononçant pas !) de 1441 à 1560
cinq cent... mille 120 solutions de 1561 à 1680
deux cent...mille 120 solutions de 1681 à 1800
sept cent...mille 120 solutions de 1801 à 1920
six cent... mille 120 solutions de 1921 à 2040
on doit donc chercher un nombre commençant par 46. En énonçant chacun des 120 nombres, on voit que le 90e correspond à 2010.
Il vaut 4631725 et s'énonce:
quatre millions six cent trente et un mille sept cent vingt cinq
Bien à vous
Bonjour et merci pour cette fastidieuse énigme
Je trouve curieusement 263 entre 273 461 et 263 517
avec une longue série de 500 000 ...
et de 5 000 000 ...
Bonjour à tous!
Après un sympathique comptage, je trouve 4 631 725 (quatre millions six cent trente et un mille sept cent vingt cinq pour être précis...)
Salut
Déjà que j'ai du mal avec les maths! alors le francais!
Je repondrais tout de même 4 631 725
Merci pour cette enigme, je vais prendre une aspirine.
Bonjour Godefroy,
Vu que "On prend tous les nombres composés des chiffres 1 à 7 utilisés une seule fois chacun.", j'en déduis que ce sont les nombres composés de 7 chiffres...
Il y en a 5040 (fact(7) permutations) et je propose 4631725....
Merci pour cette joute...
A+
Bonsoir ,
Pour la 2010ème position je dirai 5 743 612 : Cinq millions sept cent quarante trois mille six cent douze.
Merci
Détail de mon calcul pour analyser mes erreurs:
C comme cent
Pour cent= 30 (6x5)
Puis cent milles = 720 (6x5x4x3x2)
Puis cinq = 1
Puis cinq cents = 30 (6x5)
Puis cinq cent milles = 720 (6x5x4x3x2)
Puis cinq milles = 120 (6x5x4)
On a un total de 1621 , il manque 389.
Puis cinq millions cent milles = 120 (5x4x3x2x1)
Puis cinq millions deux cent milles = 120 (5x4x3x2x1)
Puis cinq millions quatre cent milles = 120 (5x4x3x2x1)
On a un total de 1981 , il manque 29.
Puis cinq millions sept cent douze milles = 6 (3x2x1)
Puis cinq millions sept cent quarante deux milles = 6 (3x2x1)
Puis cinq millions sept cent quarante et un milles = 6 (3x2x1)
Puis cinq millions sept cent quarante six milles = 6 (3x2x1)
Puis cinq millions sept cent quarante trois milles = 6 (3x2x1)
On a un total de 2011 , donc 1 de trop .
5743162
5743126
5743216
5743261
5743612 est le 2010ème.
5743621
Clôture de l'énigme :
Un des pièges à éviter était d'oublier le petit mot « et » qui vient se glisser entre deux chiffres sans qu'on le remarque.
Sinon, il y avait la méthode brute qui consiste à écrire tous les nombres, et la méthode par intervalles (j'avais fait les deux pour être vraiment sûr du résultat).
Bonsoir ,
Il y a beaucoup de pièges avec la langue française.
Jouer un peu avec les lettres n'est pas simple si on écrit les chiffres en toutes lettres :
154 s' écrit cent cinquante quatre .
154 n' est pas un et cinq et quatre je suis d' accord.
152476 s' écrit cent cinquante deux milles quatre cent soixante seize
Au départ j' ai fait exactement comme "plumemeteore",j' obtiens la même solution 4631725 , trop simple à mon idée et j' ai eu des doutes, l' ordre des chiffres ne donne pas le même son , donc orthographe différente .
Je ne pense pas que 4631725 soit la solution ?
Ach ! J'ai zappé le "et" de trente-et-un ! Merci quand même pour m'avoir fait cogiter de cette sorte ! Et encore un mais avec le
Bonsoir,
Ceci s'adresse à LEGMATH qui n'a pas d'email.
Voici une solution non optimisée.
On forme un fichier des 5040 permutations de 1234567.
DECLARE FUNCTION net$ (n AS LONG, x AS INTEGER)
DECLARE SUB Init ()
DECLARE SUB See ()
DECLARE SUB AddItem ()
DECLARE SUB Visit (k AS INTEGER)
CONST n = 7
TYPE rec
s AS STRING * n
d AS STRING * 2
END TYPE
'-----------------------------------------------
OPTION BASE 0
DIM SHARED donnee(n) AS INTEGER, nb AS LONG, nbrec AS LONG
DIM SHARED del AS STRING * 2, buf1 AS rec
del = CHR$(10) + CHR$(13)
DIM SHARED level AS INTEGER
CALL Init
CLS
f$ = "c:\_joute\3\p" + LTRIM$(STR$(n)) + ".txt"
OPEN f$ FOR BINARY AS #1 LEN = LEN(rec)
buf1.s = net$(nbrec, n)
buf1.d = del
PUT #1, 1, buf1
CALL Visit(0)
buf1.s = "------"
buf1.d = CHR$(26)
PUT #1, 1 + (nb + 1) * LEN(buf1), buf1
CLOSE #1
END
SUB Init
DIM i AS INTEGER
level = -1
nb = 0
nbrec = 1
FOR i = 0 TO n - 1
nbrec = nbrec * (i + 1)
donnee(i) = 0
NEXT i
END SUB
FUNCTION net$ (n AS LONG, x AS INTEGER)
DIM st AS STRING
st = RIGHT$(SPACE$(x) + LTRIM$(STR$(n)), x)
net$ = st
END FUNCTION
SUB See
DIM i AS INTEGER
DIM st AS STRING
st = ""
FOR i = 0 TO n - 1
st = st + LTRIM$(STR$(donnee(i)))
NEXT i
buf1.s = st
buf1.d = del
nb = nb + 1
PRINT nb, st, LEN(st)
PUT #1, 1 + nb * LEN(buf1), buf1
END SUB
SUB Visit (k AS INTEGER)
SHARED level AS INTEGER, donnee() AS INTEGER
DIM i AS INTEGER
level = level + 1
donnee(k) = level
IF (level = n) THEN
CALL See
ELSE
FOR i = 0 TO n - 1
IF (donnee(i) = 0) THEN
CALL Visit(i)
END IF
NEXT i
END IF
level = level - 1
donnee(k) = 0
END SUB
Puis on reprend une par une les permutations que l'on analyse.
DECLARE FUNCTION Lettre$ (n AS STRING)
DECLARE FUNCTION sansespace$ (s AS STRING)
DECLARE FUNCTION Net$ (s AS STRING, p AS INTEGER)
DECLARE SUB Sort (a() AS STRING, p AS LONG)
TYPE rec
s AS STRING * 7
d AS STRING * 2
END TYPE
TYPE rec2
s AS STRING * 98
d AS STRING * 2
END TYPE
CLEAR 10000
'$DYNAMIC
DIM L1(5040) AS STRING
'DIM L2(0) AS STRING
DIM SHARED Unite(7) AS STRING
Unite(1) = "un"
Unite(2) = "deux"
Unite(3) = "trois"
Unite(4) = "quatre"
Unite(5) = "cinq"
Unite(6) = "six"
Unite(7) = "sept"
DIM SHARED Dix(7, 7) AS STRING
Dix(1, 1) = "onze"
Dix(1, 2) = "douze"
Dix(1, 3) = "treize"
Dix(1, 4) = "quatorze"
Dix(1, 5) = "quinze"
Dix(1, 6) = "seize"
Dix(1, 7) = "dix sept"
Dix(2, 1) = "vingt et un"
Dix(2, 2) = "vingt deux"
Dix(2, 3) = "vingt trois"
Dix(2, 4) = "vingt quatre"
Dix(2, 5) = "vingt cinq"
Dix(2, 6) = "vingt six"
Dix(2, 7) = "vingt sept"
Dix(3, 1) = "trente et un"
Dix(3, 2) = "trente deux"
Dix(3, 3) = "trente trois"
Dix(3, 4) = "trente quatre"
Dix(3, 5) = "trente cinq"
Dix(3, 6) = "trente six"
Dix(3, 7) = "trente sept"
Dix(4, 1) = "quarante et un"
Dix(4, 2) = "quarante deux"
Dix(4, 3) = "quarante trois"
Dix(4, 4) = "quarante quatre"
Dix(4, 5) = "quarante cinq"
Dix(4, 6) = "quarante six"
Dix(4, 7) = "quarante sept"
Dix(5, 1) = "cinquante et un"
Dix(5, 2) = "cinquante deux"
Dix(5, 3) = "cinquante trois"
Dix(5, 4) = "cinquante quatre"
Dix(5, 5) = "cinquante cinq"
Dix(5, 6) = "cinquante six"
Dix(5, 7) = "cinquante sept"
Dix(6, 1) = "soixante et un"
Dix(6, 2) = "soixante deux"
Dix(6, 3) = "soixante trois"
Dix(6, 4) = "soixante quatre"
Dix(6, 5) = "soixante cinq"
Dix(6, 6) = "soixante six"
Dix(6, 7) = "soixante sept"
Dix(7, 1) = "soixante et onze"
Dix(7, 2) = "soixante douze"
Dix(7, 3) = "soixante treize"
Dix(7, 4) = "soixante quatorze"
Dix(7, 5) = "soixante quinze"
Dix(7, 6) = "soixante seize"
Dix(7, 7) = "soixante dix sept"
DIM SHARED del AS STRING * 2
DIM SHARED buf1 AS rec, k1 AS LONG
DIM SHARED buf2 AS rec2, k2 AS LONG
DIM SHARED buf3 AS rec2, k3 AS LONG
k1 = 0
k2 = 0
k3 = 0
del = CHR$(10) + CHR$(13)
'-----------------------------------------------
DIM n AS STRING, a AS STRING, b AS STRING, i AS LONG
OPEN "c:\_joute\3\l7_2.txt" FOR BINARY AS #3 LEN = LEN(buf3)
OPEN "c:\_joute\3\l7_1.txt" FOR BINARY AS #2 LEN = LEN(buf2)
OPEN "c:\_joute\3\p7.txt" FOR BINARY AS #1 LEN = LEN(buf1)
GET #1, 1, buf1
k1 = VAL(buf1.s)
CLS
FOR i = 1 TO k1
GET #1, 1 + i * LEN(buf1), buf1
n = buf1.s
a = Lettre$(n)
b = sansespace(a)
buf2.s = Net$(a, 98): buf2.d = del
buf3.s = Net$(b, 98): buf3.d = del
k2 = k2 + 1
k3 = k3 + 1
PUT #2, 1 + k2 * LEN(buf2), buf2
PUT #3, 1 + k3 * LEN(buf3), buf3
LOCATE 1, 1: PRINT i
LOCATE 2, 1: PRINT n
LOCATE 3, 1: PRINT a
LOCATE 4, 1: PRINT b
NEXT i
buf2.s = Net$(STR$(k2), 98): buf2.d = del
PUT #2, 1, buf2
buf3.s = Net$(STR$(k3), 98): buf3.d = del
PUT #3, 1, buf3
CLOSE #1
CLOSE #2
CLOSE #3
END
REM $STATIC
FUNCTION Lettre$ (n AS STRING)
SHARED Unite() AS STRING, Dix() AS STRING
DIM i AS INTEGER, j AS INTEGER
DIM rep AS STRING
rep = ""
i = VAL(MID$(n, 1, 1))
rep = Unite$(i) + " million"
IF i > 1 THEN rep = rep + "s"
i = VAL(MID$(n, 2, 1))
IF i > 1 THEN
rep = rep + " " + Unite(i)
END IF
rep = rep + " cent"
i = VAL(MID$(n, 3, 1))
j = VAL(MID$(n, 4, 1))
rep = rep + " " + Dix(i, j) + " mille"
i = VAL(MID$(n, 5, 1))
IF i > 1 THEN
rep = rep + " " + Unite(i)
END IF
rep = rep + " cent"
i = VAL(MID$(n, 6, 1))
j = VAL(MID$(n, 7, 1))
rep = rep + " " + Dix(i, j)
Lettre$ = rep
END FUNCTION
FUNCTION Net$ (s AS STRING, p AS INTEGER)
Net$ = LEFT$(RTRIM$(LTRIM$(s)) + SPACE$(98), p)
END FUNCTION
FUNCTION sansespace$ (s AS STRING)
DIM rep AS STRING, i AS INTEGER, car AS STRING
rep = ""
FOR i = 1 TO LEN(s)
car = MID$(s, i, 1)
IF car <> " " THEN rep = rep + car
NEXT i
sansespace$ = rep
END FUNCTION
Pour obtenir 4631725.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :