Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Tous les anagrammes possibles
Auteur Message
Répondre en citant
Message Tous les anagrammes possibles 
Bonjour/Bonsoir, j'aurais besoin d'un code capable de générer les (il me semble) 9^9 possibilités en mélangeant M, K, H, X, A, R, Z(x2), Y, I, F, K, T et Z.
MKHXARZYIFKTZ

L'output devrait ressembler à ça :
Code:
MKHXARZYIFKTZ
AKHXMRZYIFZTK
AKRXMRZYHFZTK
...




Dernière édition par S le Mer 25 Nov 2015 - 01:12; édité 1 fois

______________________________________________________
 
 
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Tous les anagrammes possibles 
Euh sa va etre long à générer hein hein les 387420489 possibilités xD



Répondre en citant
Message Tous les anagrammes possibles 
Hein , Comment ta trouver 387420489 ?




______________________________________________________
Visiter le site web du posteur Skype
Répondre en citant
Message Tous les anagrammes possibles 
Anto2112 a écrit:
Hein , Comment ta trouver 387420489 ?

S a écrit:
(il me semble) 9^9 possibilités en mélangeant

99 = 387420489

Le pire tu sais quoi? C'est que pour vérifier ce que j'avais écrit sur un de mes DM de maths l'année dernière, j'avais fait un truc de ce genre, mais je trouve pas le fichier Neutral




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message Tous les anagrammes possibles 
timothe_2000 a écrit:
Euh sa va etre long à générer hein hein les 387420489 possibilités xD

Au pire en un quelconque autre langage, j'aurais juste besoin de l'output étant donné que je ne m'en servirais certainement qu'une fois dans ma vie




______________________________________________________
 
 
Répondre en citant
Message Tous les anagrammes possibles 
Un peut un truc comme ça:
Code:
@Echo off
set mot=M K H X A R Z Y I F K T Z
for %%A in (%mot%) do (
   for %%B in (%mot%) do (
      for %%C in (%mot%) do (
         for %%D in (%mot%) do (
            for %%E in (%mot%) do (
               for %%F in (%mot%) do (
                  for %%E in (%mot%) do (
                     for %%G in (%mot%) do (
                        for %%H in (%mot%) do (
                           for %%I in (%mot%) do (
                              for %%J in (%mot%) do (
                                 for %%K in (%mot%) do (
                                    for %%L in (%mot%) do (
                                       echo %%A%%B%%C%%D%%E%%F%%G%%H%%I%%J%%K%%L
                                    )
                                 )
                              )
                           )
                        )
                     )
                  )
               )
            )
         )
      )
   )
)
echo Génération des possibilités terminée :^).
pause


Je te préviens, prévois un supercalculateur pour faire marcher ça, car ça doit être méga long.

En voila 1 en C#:
Code:
using System;
using System.Collections.Generic;

namespace test
{
    class Program
    {
        static string mot = "MKHXARZYIFKTZ";

        static void Main(string[] args)
        {
            IEnumerable<string> enumerable = SoftGen();
            foreach (string mt in enumerable)
                Console.WriteLine(mt);
            Console.WriteLine("Génération terminée");
            Console.ReadKey();
        }
        static IEnumerable<string> SoftGen()
        {
            for (int i = 0; i < mot.Length; i++)
                for (int i2 = 0; i2 < mot.Length; i2++)
                    for (int i3 = 0; i3 < mot.Length; i3++)
                        for (int i4 = 0; i4 < mot.Length; i4++)
                            for (int i5 = 0; i5 < mot.Length; i5++)
                                for (int i6 = 0; i6 < mot.Length; i6++)
                                    for (int i7 = 0; i7 < mot.Length; i7++)
                                        for (int i8 = 0; i8 < mot.Length; i8++)
                                            for (int i9 = 0; i9 < mot.Length; i9++)
                                                for (int i10 = 0; i10 < mot.Length; i10++)
                                                    for (int i11 = 0; i11 < mot.Length; i11++)
                                                        for (int i12 = 0; i12 < mot.Length; i12++)
                                                            for (int i13 = 0; i13 < mot.Length; i13++)
                                                                yield return string.Concat(mot[i], mot[i2], mot[i3], mot[i4], mot[i5], mot[i6], mot[i7], mot[i8], mot[i9], mot[i10], mot[i11], mot[i12], mot[i13]);
        }
    }
}



Si tu veux faire comme beyblade en mode ultra hyper vitesse, tu peut passer par du multithread de supra-calculateur:
Code:
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static string mot = "MKHXARZYIFKTZ";

        static void Main(string[] args)
        {
            IEnumerable<string> enumerable = SoftGen();
            Parallel.ForEach(enumerable,new ParallelOptions() { MaxDegreeOfParallelism = 256 }, mt => Console.WriteLine(mt));
                 
            Console.WriteLine("Génération terminée");
            Console.ReadKey();
        }
        static IEnumerable<string> SoftGen()
        {
            for (int i = 0; i < mot.Length; i++)
                for (int i2 = 0; i2 < mot.Length; i2++)
                    for (int i3 = 0; i3 < mot.Length; i3++)
                        for (int i4 = 0; i4 < mot.Length; i4++)
                            for (int i5 = 0; i5 < mot.Length; i5++)
                                for (int i6 = 0; i6 < mot.Length; i6++)
                                    for (int i7 = 0; i7 < mot.Length; i7++)
                                        for (int i8 = 0; i8 < mot.Length; i8++)
                                            for (int i9 = 0; i9 < mot.Length; i9++)
                                                for (int i10 = 0; i10 < mot.Length; i10++)
                                                    for (int i11 = 0; i11 < mot.Length; i11++)
                                                        for (int i12 = 0; i12 < mot.Length; i12++)
                                                            for (int i13 = 0; i13 < mot.Length; i13++)
                                                                yield return string.Concat(mot[i], mot[i2], mot[i3], mot[i4], mot[i5], mot[i6], mot[i7], mot[i8], mot[i9], mot[i10], mot[i11], mot[i12], mot[i13]);
        }
    }
}





______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message Tous les anagrammes possibles 
TS Ton code va également créer des MMMMMMMM ou ZZZZZZZZZZ ce qui n'est pas vraiment ce que veux notre ami.

si tu va l'utiliser qu'une fois je te conseil ce code powershell :

http://learn-powershell.net/2013/02/21/fun-with-powershell-and-permutations…


que tu copie et evalue dans l'interpreteur Powershell et ensuite tu execute :

Code:

 Get-StringPermutation MKHXARZYIFKTZ | out-file c:\ton\chemin\sortie.txt


ça va te créer un fichier sortie.txt avec toute les permutations possible (sans les répetitions).

Mais effectivement ça va te prendre qqe minutes.

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Tous les anagrammes possibles 
Merci sachadee, au vu de ce que ça a généré pour l'instant ça m'a l'air d'être une très bonne solution.
J'éditerais ce message quand ça sera fini (risque de prendre du temps)




______________________________________________________
 
 
Répondre en citant
Message Tous les anagrammes possibles 
Alors que si tu cherche les vrais anagrammes valides en francais c'est plus simple.

Wink




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message Tous les anagrammes possibles 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch