IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Prise de tête


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Prise de tête
    je voudrais réaliser l'opération inverse de celle décrite ici (décryptage Base24):
    Salut à tous,

    je voudrais réaliser l'algo INVERSE de celui ci :

    //PID est une Array[0..14] of CARDINAL à décoder
    //Des est une Array[0..24] of byte résultat du décodage
    //HN, Value: CARDINAL;


    for I := 24 downto 0 do begin
    HN := 0;
    for N := 14 downto 0 do begin
    Value := (HN shl 8) or PID[N];
    PID[N] := Value div 24;
    HN := Value mod 24;
    end;
    Des[i] := HN;
    end;


    De sorte de retrouver PID à partir de DES

    Dur dur, c'est pas évident pour moi.

  2. #2
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 272
    Points : 284
    Points
    284
    Par défaut
    La boucle sur I fait 25 fois la même chose. C'est normal ?
    Et la valeur 24 pour les divisions me semble suspecte.

    Et a priori, si tu ne connais pas la valeur finale de PID[N], il faut essayer toutes les valeurs pour PID et voir si tu trouves le bon DES. J'imagine que c'est d'ailleurs le but de cet algorithme.

  3. #3
    Membre éclairé Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Points : 795
    Points
    795
    Par défaut
    J'ai rien compris ou le but est de coder un nombre de base décimale en un second codé sur 24?

    Si c'est cela, voici un (très?) (petit?) début de réponse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int cryptage = 0
    int entree
    double exposant
    Lire(entree)
     
    while(entree >= 10)                        //pour éviter la boucle sans fin avec
                                               //les nombres inférieurs à 10
     
         log(entrée)/log(10) = exposant        //cast vers un entier
         cryptage + 24^n = cryptage
         entree - 10^n = entree
    A compléter...

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/10/2006, 09h09
  2. Réponses: 7
    Dernier message: 23/12/2005, 16h21
  3. Catalogue tables : prise de tête
    Par KinF dans le forum Requêtes
    Réponses: 5
    Dernier message: 02/12/2005, 01h04
  4. [MFC] Prise de tête avec UpdateAllViews
    Par pataguillon dans le forum MFC
    Réponses: 13
    Dernier message: 11/08/2005, 13h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo