COMBINAISONS DE CARACTÈRES

pgl10 289 Messages postés samedi 18 décembre 2004Date d'inscription 1 juillet 2017 Dernière intervention - 24 févr. 2012 à 17:59 - Dernière réponse : Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention
- 24 janv. 2017 à 20:41
Commentaires sur une source Créer une discussion Signaler Répondre
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

http://codes-sources.commentcamarche.net/source/54101-combinaisons-de-caracteres

Afficher la suite 
289Messages postés samedi 18 décembre 2004Date d'inscription 1 juillet 2017 Dernière intervention
pgl10 289 Messages postés samedi 18 décembre 2004Date d'inscription 1 juillet 2017 Dernière intervention - 24 févr. 2012 à 17:59
Le nombre d'arrangements avec répétition de n éléments pris k à k est n^k ( n puissance k ). A mon avis, il s'agit ici des arrangements avec répétition de caracteres.Length caractères pris longueur à longueur et non pas de permutations.
Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 24 févr. 2012 à 20:07
Certes.

Correction apportée, j'ai laisse un permutation dans les mots clés, pour le cas ou d'autre fassent la même confusion que moi.
John-As 1 Messages postés vendredi 20 janvier 2017Date d'inscription 24 janvier 2017 Dernière intervention > Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 24 janv. 2017 à 16:30
J'ai beaucoup apprécié ton raisonnement, je l'avais fait autrement

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
 class Program
 {
  static void Main(string[] args)
  {
   string s = "ABCD";
   int longueur = 3;
   int nmbDeVal = (int)Math.Pow(s.Length, longueur);
   string texte;
   int x;
   for (int i = 0; i < nmbDeVal; i++)
   {
    texte = "";
    for (int j = longueur - 1; j >= 0; j--)
    {
     x = i / (int)Math.Pow(s.Length,j) % s.Length;
     texte += s[x];
    }
    Console.Write(texte + "//");
   }
  }
 }
}
Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention > John-As 1 Messages postés vendredi 20 janvier 2017Date d'inscription 24 janvier 2017 Dernière intervention - 24 janv. 2017 à 20:41
Bonsoir,

merci.

A l'époque j'ai préféré faire une méthode pour la conversion de base et une pour "compter" les permutations. L'avantage étant que la conversion de base peut être utilisée indépendamment.
Mais bien sûr ça peut être condensé comme tu l'as fait, et même un peu plus je pense avec Linq.
Commenter la réponse de pgl10

4 réponses

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.