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); } }
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); }