示例#1
0
        public static int euler(int n)
        {
            Dictionary <int, int> decompPrime = Primaire.decompose_primaire(n);
            int resultat = 1;

            Dictionary <int, int> .KeyCollection cles = decompPrime.Keys;
            foreach (int valeur in cles)
            {
                int power = decompPrime[valeur];
                resultat *= (int)(Math.Pow((int)valeur, (int)power) - Math.Pow((int)valeur, (int)power - 1));
            }
            return(resultat);
        }
示例#2
0
        static void Main(string[] args)
        {
            Console.WriteLine("--Chiffrage du message--");
            int[] message = { 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0 }; //message a chiffrer
            int[] cle     = { 1, 1, 0 };                         //cle de chiffrage
            int[] res     = Vernam.chiffrer(message, cle);       //chiffrage du message
            for (int i = 0; i < res.Length; i++)
            {
                Console.Write(res[i]);
            }
            Console.WriteLine("\n--Test Algo Etendu--");
            int[] tab = Euclide.algoEtendu(26, 15);
            Console.WriteLine(tab[0] + " " + tab[1] + "\n--Inverse--\n" + Euclide.inverse(51, 242));
            Console.WriteLine("\n--Décomposition primaire de 54--\n");
            Dictionary <int, int> resultat = Primaire.decompose_primaire(54);

            Dictionary <int, int> .KeyCollection cles = resultat.Keys;
            foreach (int valeur in cles)
            {
                Console.WriteLine(valeur + "^" + resultat[valeur] + "*");
            }
            Console.WriteLine("");
        }