Algorithmes

Tris, recherches, modification d'images, cryptographie ...
Ajouter un nouvel élément

    Chiffrement RSA pour les nuls

    Licence : Libre - 23/01/2017 - Téléchargé 24 x
    Le principe de base de RSA est de considérer un message comme un (grand) nombre entier et de faire des calculs dessus pour le chiffrer.
    Les implémentations que l'on trouve dans le monde industriel utilisent des librairies de calcul sur des entiers arbitrairement longs très optimisées et difficiles à comprendre.
    Le but de ce petit programme est d'implémenter RSA sur des entiers "classiques" et sans la moindre optimisation pour mieux comprendre l'algorithme.

    Pour autant, cette implémentation est parfaitement conforme à l'algorithme RSA. ... Voir la suite

    resolveur sudoku simple

    Éditeur : CLEMENSON + 7 Ko
    Resolveur de sudoku codé en c permettant de résoudre les grilles simples (sans hypothèses).

    Générateur de combinaisons

    Licence : GPL - 10/12/2013 - Téléchargé 11 x
    Programme console qui affiche les k-combinaisons sur n éléments distincts.
    Ensemble des éléments : {0,1, ..., n}
    contraintes : 0 ... > c_(k-1)
    Ordre numérique : ordre lexicographique avec c_0 < c_1 < ... < c_(k-1)
    ----

    Exemple de mise en oeuvre de la simulation d'un nombre dynamique de boucles for
    Gestion simplifiée des paramètres en ligne de commande
    L'ordre Knuth est nommé ainsi suite à une discussion et à l'évocation d'un exemple du fascicule 3a du TAO
    ----

    OS : linux
    Compilateur : gcc 4.5

    Devrait pouvoir être compilé sur windows (mingw/cygwin) mac(gcc) ou toute autre plateforme pour laquelle les outils GNU sont supportés.
    ----

    Compilation :
    Déz ... Voir la suite

    Nombres Premiers

    Éditeur : Kakou35 + 692 octets
    Vous entrez un nombre et le programme trouvera tous les nombres premiers compris entre 0 et votre nombre !

    Calcul des clés de Luhn

    Licence : Non renseignée - 30/11/2010 - Téléchargé 8 x
    Cet algorithme permet de vérifier la validité d'un numéro, tel que celui des cartes bancaires, des cartes SNCF ou encore les numéros de SIRET. Cet algorithme consiste à prendre chaque chiffre du numéro, le multiplier par deux s'il est pair et on additionne chaque chiffre ainsi obtenu. Si le résultat est un multiple de 10, le numéro est valide.

    Makefile générique

    Licence : GPL - 20/01/2017 - Téléchargé 7 x
    Makefile générique

    Makefile idéal pour la construction rapide d'un exécutable sans se préoccuper de la gestion parfois complexe du Makefile : la fainéantise n'est plus une excuse.

    Courbes elliptiques pour les nuls

    Licence : Libre - 23/01/2017 - Téléchargé 7 x
    Comprendre la cryptographie sur les courbes elliptiques sans (trop) entrer dans les détails théoriques.

    • Notion de base de la cryptographie avec des courbes elliptiques (elliptic curve = EC).
      On se donne une arithmétique dans laquelle on manipule des points et des entiers.
      On a une addition entre points (point + point -> point)
      On a une multiplication entre entiers et points (entier * point -> point)
      Toute la sécurité est basée sur le fait que, dans cette arithmétique :

        - connaissant un point P et un entier n, on peut facilement calculer le point nP
        - connaissant les points P et nP, il est très difficile de calculer n

      La notion de "facile/difficile" renvoie aux temps ... Voir la suite

    Tri à bulle

    Licence : Non renseignée - 30/11/2010 - Téléchargé 6 x
    Fonction de Tri à bulle. Cette fonction tri dans les deux sens (croissant et décroissant).
    Ici l'exemple porte sur un tableau d'entiers mais cela peut être utilisé pour tout autre type !

    Cryptage selon la méthode de César

    Licence : Non renseignée - 30/11/2010 - Téléchargé 5 x
    Le cryptage de César : http://ourworld.compuserve.com/homepages/hlifchitz/Renaud/fr/crypto/Cesar.htm

    Tri rapide d'un tableau

    Licence : Non renseignée - 30/11/2010 - Téléchargé 5 x
    Cette fonction est une version simplifiée de la fonction de la bibliothèque standard qsort (http://man.developpez.com/man3/qsort.3.php).

    Ici le code est proposé avec un tableau d'entiers mais il est possible d'utiliser le même algorithme pour trier un tableau de type différent.

    Utilisation de l'algorithme Minimax (MinMax)

    Éditeur : Helmstetter Bernard + 1 Ko
    Programme qui joue au morpion, avec l'algorithme Minimax.

    Minimax (aussi minmax) est une méthode dans la "Théorie de la décision" qui permet de minimiser un maximum de perte possible. Alternativement, il peut considérer en tant que maximum le minimum de gain (maxmin).

    Pour plus d'information sur cet algorithme: Minimax (http://en.wikipedia.org/wiki/Minimax_theorem)

    Afficher toutes les solutions au problème des N-Reines

    Éditeur : Helmstetter Bernard + 721 octets
    Programme qui permet de résoudre et afficher toutes les solutions au problème des N-Reines (ou N-Dames).

    Le problème des N-Reines consiste à placer N reines sur un échiquier NxN sans que l'une d'elles puisse en manger une autre (avec les règles des échecs : une reine peut « manger » toute pièce située sur sa ligne, sur sa colonne ou sur l'une de ses deux diagonales).

    Pour plus d'informations sur le problème des N-Reines, vous pouvez consulter cet article sur la résolution du problème des Huit Dames (http://fr.wikipedia.org/wiki/Probl%C3%A8me_des_huit_dames)

    Construction et résolution de labyrinthe

    Éditeur : Helmstetter Bernard + 1 Ko
    Programme de construction et de résolution de labyrinthe. Trois méthodes de résolution sont proposées :

    • Recherche en profondeur d'abord récursive

    • Recherche en profondeur d'abord avec une pile

    • Recherche en largeur d'abord avec une queue

    Résolution de labyrinthe avec l'algorithme A* (A Star)

    Éditeur : Helmstetter Bernard + 3 Ko
    Méthode de résolution de labyrinthe avec l'algorithme A* implémenté à l'aide d'une queue de priorité. Ce programme montre également comment passer d'un tableau bidimensionnel à un tableau unidimensionnel pour représenter le labyrinthe.

    Pour plus d'informations sur l'algorithme A* : Recherche de chemin: A* (http://fr.wikipedia.org/wiki/Algorithme_A%2A)

    Résolution de Sudoku par backtracking avec propagation des contraintes

    Éditeur : Helmstetter Bernard + 1 Ko
    Programme de résolution de sudoku par backtracking avec propagation des contraintes et sélection de la variable la plus contraignante.

    CONVERSION BINAIRE DECIMAL - DECIMAL BINAIRE

    Éditeur : UnDeadRoot~AshSLuv~Alien +

    BIBLOTHEQUE DE CONVERSION BINAIRE - DECIMAL
    ECRIT ET MODIFIEE PAR UnDeadRoot~AshSLuv#~Alien !!! mdr j'ai pas nkr choisie mon pseudo :')
    LICENSE OPEN-SOURCE :)

    NB: ARCHIVE EN EXTENTION .RAR

    version 1.8
    - conversion DB
    - Correction Bug sur la partie fractionnaire DB
    version 2.0
    - Calcul et affichage du résultat sans intervention de l'user
    - PLus de commentaire dans le code source
    - Changement du nom des fonctions de la biblo || ConvBD => convbd ; ConvDB => convdb ||
    - Suppression de la limitte de conversion pour BD
    version 2.2
    - Correction de l'affichage pour une meilleure affichage


    UPDATE FUTUR
    - Possibilités de ... Voir la suite

    Comment calculer le nombre de chiffres d'un entier ?

    Licence : Non renseignée - 30/11/2010 - Téléchargé 2 x
    Il peut être parfois utile de connaître le nombre de chiffres que contient un nombre par exemple si l'on souhaite le convertir en chaîne de caractères à l'aide de la fonction sprintf.

    Déterminer la parité d'un char

    Licence : Non renseignée - 30/11/2010 - Téléchargé 1 x
    La parité consiste à calculer le nombre de bits d'une variable (ici un unsigned char) égaux à 1 et si cette somme est paire, la parité de cette variable le sera aussi, sinon elle sera impaire.

    Comment trouver les combinaisons possibles d'un tableau ?

    Licence : Non renseignée - 30/11/2010 - Téléchargé 1 x
    Comment trouver les combinaisons possibles d'un tableau ?

    Utilisation de l'algorithme d'élagage alpha-beta

    Éditeur : Helmstetter Bernard + 1 Ko
    Programme qui joue au morpion, avec l'algorithme alpha-beta (ou aussi Elagage alpha-beta).
    L'algorithme alpha-beta permet de réduire le nombre de noeuds évalués par l'algorithme Minimax (MinMax).

    Pour plus d'informations sur cet algorithme : alpha-beta (http://fr.wikipedia.org/wiki/%C3%89lagage_alpha-beta)

34 éléments

Contacter le responsable de la rubrique C

Partenaire : Hébergement Web