Bonjour, j'aimerais créer un algorithme pour mélanger un paquet de cartes. J'en ai trouvé un qui tire deux nombre aléatoires et inverse les cartes des numéros correspondant mais il est un peu lent. Auriez-vous une idée pour qu'il soit plus rapide, ou un algorithme différent ? En cherchant sur internet je suis tombé sur des exercices de polytech et je n'ai pas compris grand chose. Merci
For(C,1,56)
randInt(1,56)->A
randInt(1,56)->B
L6(A)->D
L6(B)->L6(A)
D->L6(B)
End
[RESOLU] mélange de cartes
Voir le premier message non lu • 7 messages
• Page 1 sur 1
[RESOLU] mélange de cartes
Dernière édition par proghy le 14 Avr 2012, 17:44, édité 1 fois.
-
proghy
Niveau 7: EP (Espèce Protégée: geek)- Messages: 9
- Images: 1
- Inscription: 09 Juil 2011, 15:42
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: terminale s
Re: mélange de cartes
A priori, tu as fais le truc le plus simple et le plus efficace. Il y a peut-être d'autres moyens, mais surement plus lourds.
L6 contient 56 numéros de 1 a 56, à la base ?
L6 contient 56 numéros de 1 a 56, à la base ?
-
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 2337
- Images: 113
- Inscription: 04 Fév 2010, 00:00
- Localisation: Evry (France)
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: PhD candidate, Bioinformatics
Re: mélange de cartes
Là, la complexité du mélange est directement proportionnelle à la longueur de la liste (ici, 56: on passe dans la boucle 56 fois).
Ce n'est donc à priori pas mauvais du tout, et je doute que l'on puisse faire foncièrement mieux sans altérer la qualité du mélange...
Ce n'est donc à priori pas mauvais du tout, et je doute que l'on puisse faire foncièrement mieux sans altérer la qualité du mélange...
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Messages: 41498
- Images: 14695
- Inscription: 25 Oct 2008, 00:00
- Localisation: Montpellier
- Genre:
- Calculatrice(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter/X: critor2000
- GitHub: critor
Re: mélange de cartes
Oui, L6 contient 56 numéros. Je pensais qu'il y aurait moyen de faire un mélange qui utilise moins de nombres aléatoires (il me semble avoir entendu que c'est ce qui prends du temps), peut-être avec une fonction qui change selon le premier nombre aléatoire tiré et adopte un comportement irrégulier, mais je n'ai pas le niveau en maths... Puisque vous pensez que mon algorithme est assez efficace, je vais surement calculer la liste de nombre aléatoires pendant l'écran de présentation du programme. Merci de votre aide.
-
proghy
Niveau 7: EP (Espèce Protégée: geek)- Messages: 9
- Images: 1
- Inscription: 09 Juil 2011, 15:42
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: terminale s
Re: mélange de cartes
Le plus court possible, apparement :
( http://z4.invisionfree.com/TIFreakware/index.php?showtopic=1177&st=0, numéro 19)
- Code: Tout sélectionner
:seq(X,X,1,56->L1
:rand(56->L2
:SortA(L2,L1
( http://z4.invisionfree.com/TIFreakware/index.php?showtopic=1177&st=0, numéro 19)
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14616
- Images: 1218
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
Re: mélange de cartes
Merci Adriweb. Super, c'est environ 2x plus rapide !
Dernière édition par proghy le 14 Avr 2012, 20:21, édité 1 fois.
-
proghy
Niveau 7: EP (Espèce Protégée: geek)- Messages: 9
- Images: 1
- Inscription: 09 Juil 2011, 15:42
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: terminale s
Re: [RESOLU] mélange de cartes
O_O
Waw, j'aurais été a des années lumières d'y penser...
(par contre je n'ai pas la permission de lire ton lien selon TIFW)
Waw, j'aurais été a des années lumières d'y penser...
(par contre je n'ai pas la permission de lire ton lien selon TIFW)
-
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 2337
- Images: 113
- Inscription: 04 Fév 2010, 00:00
- Localisation: Evry (France)
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Classe: PhD candidate, Bioinformatics
7 messages
• Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 17 invités