Exemple #1
0
 static public void WritePower(int[] permutation, int power)
 {
     int[][] cyclePermutation       = WithoutRepetition.PermutationToCycle(permutation);
     int[]   resultPermutation      = WithoutRepetition.PowerOfPermutation(permutation, power);
     int[][] resultCyclePermutation = WithoutRepetition.PermutationToCycle(resultPermutation);
     using (StreamWriter writer = new StreamWriter("log.txt", true))
     {
         WriteDate(writer);
         WriteLine(writer, "Power of permutation:");
         WriteLine(writer);
         Write(writer, "One-line notation: ");
         WriteVector(writer, permutation);
         WriteLine(writer);
         Write(writer, "Canonical cycle notation: ");
         WriteCycle(writer, cyclePermutation);
         WriteLine(writer);
         WriteLine(writer, "Power: " + power);
         WriteLine(writer);
         WriteLine(writer, "Result permutation");
         WriteLine(writer);
         Write(writer, "One-line notation: ");
         WriteVector(writer, resultPermutation);
         WriteLine(writer);
         Write(writer, "Canonical cycle notation: ");
         WriteCycle(writer, resultCyclePermutation);
         WriteLine(writer);
     }
 }
Exemple #2
0
        public static string PowerOfPermutationString(string Expression)
        {
            int    index = Expression.IndexOf("^");
            int    power = 0;
            string temp  = Expression.Substring(index + 1);

            power = int.Parse(temp);
            string cyclePermutationString = Expression.Remove(index);

            int[]   permutation             = ParsePermutation(cyclePermutationString);
            int[]   resultPermutation       = WithoutRepetition.PowerOfPermutation(permutation, power);
            int[][] resultPermutationCycle  = WithoutRepetition.PermutationToCycle(resultPermutation);
            string  resultPermutationString = CycleToString(resultPermutationCycle);

            return(resultPermutationString);
        }