Posté le 31/05/2020 19:58
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 58 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 31/05/2020 20:03 | #
Voici une solution peu optimisée mais qui a le mérite de fonctionner... on génère la liste de 1 à 49 et on en tire ensuite une permutation aléatoire.
For 1→I To 48
RanInt#(I,49)→J
List 1[I]→K
List 1[J]→List 1[I]
K→List 1[J]
Next
List 1
Citer : Posté le 31/05/2020 20:07 | #
Merci de ta réactivité. Cette solution me convient.
Citer : Posté le 01/06/2020 03:12 | #
That solution is pretty optimized already
It's the same as what I did in Sudoku (Except it was 9 numbers, not 49)
For 1→I To 49
RanInt#(1,49→R
List 1[I
List 1[R→List 1[I
Ans→List 1[R
Next
List 1
@Lephenixnoir why did you only go to 48?
It just means 49 has a much higher chance of still being 49 compared to every other number
Citer : Posté le 01/06/2020 08:55 | #
It can also use the Sort command.
RanInt#(1,49)→List 2
SortA(List2,List1)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Citer : Posté le 01/06/2020 09:18 | #
Redcmd: There is a key difference between our solutions, which is the way we choose new numbers to exchange.
At each round, I select a random number between I and 49, which is the candidate for entry I. This means I uniformly select a random number among the remaining numbers of the list. This gives a uniform permutation of the list. (I stop at 48 because after the first 48 numbers have been chosen, the 49th is automatically fixed, and it's usually not 49. Also, RanInt#(N,N) is an error even though it should return N.)
However, you compose 49 random tranpositions, which is not guaranteed to give a uniform output.
Sentaro: Is this C.Basic? In standard Basic, RanInt#() returns a number so you can't assign it to List 2.
Citer : Posté le 01/06/2020 09:25 | #
Also SortA() is extremely slow
Citer : Posté le 01/06/2020 14:37 | #
@Lephenixnoir
Sorry,
It's RanList#(49) not RanInt#(49).
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Citer : Posté le 01/06/2020 14:45 | #
This feature of the SortA() command is really nice. I can easily be used to create any permutation very quickly