Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

afficher toutes les posibliter


Messages recommandés

Posté(e)
Tu ne peut pas utiliser le même indice dans les 8 boucles, sinon tu perd la valeur.

Le code correct devrait être :

 

for(int a=0;a<256;i++)

for(int b=0;b<256;i++)

for(int c=0;c<256;i++)

for(int d=0;d<256;i++)

for(int e=0;e<256;i++)

for(int f=0;f<256;i++)

for(int g=0;g<256;i++)

for(int h=0;h<256;i++)

{

printf("%c%c%c%c%c%c%c%c",a,b,c,d,e,f,g,h);

}

Clafouti : Normalement ça passe car dans chaque boucle, l'indice est considéré local (selon mon prof de C/C++ en BTS), mais en général j'évite ce genre de pratique et je rajouterai "vive le copier/coller" :P

 

Kewlcat : Je vais taper dans l'aide pour voir à quoi correspond uint64_t (Même si d'après le nom je dirai que c'est un typedef du genre unsigned int ... mais le 64 ... unsigned long ?). Bon je connais pas mais je veux connaître et un jour peut-être ...

Posté(e)
Clafouti : Normalement ça passe car dans chaque boucle, l'indice est considéré local (selon mon prof de C/C++ en BTS), (...)
Ouais, "ça passe" jusqu'à ce que tu veuilles faire printf("%c%c%c%c%c%c%c%c",i,i,i,i,i,i,i,i);

:-D

Kewlcat : Je vais taper dans l'aide pour voir à quoi correspond uint64_t (Même si d'après le nom je dirai que c'est un typedef du genre unsigned int ... mais le 64 ... unsigned long ?). Bon je connais pas mais je veux connaître et un jour peut-être ...
C'est un bête "unsigned long long", mais c'était pour cadrer avec "ISO C99" ;-)

Sinon j'aurais pu taper dans sys/types.h et utiliser u_int64_t ...

 

Autre détail qui a son importance : avec 256 caractères possibles par "case", on arrive à 256 ^ 8 solutions, si on considère que l'on se contente d'afficher chaque solution suivie d'un retour à la ligne (9 octets), nous allons avoir besoin d'un espace de stockage de 9 * 256 ^ 8 = 144 Eo (Exaoctets...) soit 147 456 Po (Petaoctets...) pour sauvegarder tout ce qu'on va générer !

  • 1 mois après...
Posté(e)

Encore quelqu'un qui a "égaré" sont mot de passe caramail :P:-(:-P

 

Une recherche en brute force de 256^8 mettra un peu plus de 2100 ans a se terminer, avec 18 446 744 073 709 551 616 possibilitées et en considérant qu'on trouve un million de combinaisons a la seconde :-P

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...