: static void ToTriangle(double[,] matrix) { double n = matrix.GetLength(0); for (int i = 0; i < n - 1; i++) for (int j = i + 1; j < n; j++) { double koef = matrix[j, i] / matrix[i, i]; for (int k = i; k < n; k++) matrix[j, k] -= matrix[i, k] * koef; } } static void Print(double[,] matrix) { for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(0); j++) Console.Write("{0:0.0}\t",matrix[i, j]); Console.WriteLine(); } Console.WriteLine(); } static void Main() { double[,] matrix = new double[3, 3];
var random = new Random(); for (int i = 0; i < matrix.GetLength(0); i++) for (int j = 0; j < matrix.GetLength(0); j++) matrix[i, j] = random.Next(1, 9);
У 4 девочек ровно 4! = 24 варианта очередности. Перебор: ОКЛН, ОКНЛ, ОЛКН, ОЛНК, ОНКЛ, ОНЛК, КОЛН, КОНЛ, КНЛО, КНОЛ, КЛОН, КЛНО, ЛОКН, ЛОНК, ЛНОК, ЛНКО, ЛКНО, ЛКОН, НОКЛ, НОЛК, НЛОК, НЛКО, НКЛО, НКОЛ Если Катя вторая, то вариантов всего 6: ОКЛН, ОКНЛ, НКОЛ, НКЛО, ЛКНО, ЛКОН Если Оля последняя, то вариантов тоже 6: КЛНО, КНЛО, ЛНКО, ЛКНО, НКЛО, НЛКО. Если Надя не последняя, то вариантов 18: ОКНЛ, ОЛНК, ОНКЛ, ОНЛК, КОНЛ, КНЛО, КНОЛ, КЛНО, ЛОНК, ЛНОК, ЛНКО, ЛКНО, НОКЛ, НОЛК, НЛОК, НЛКО, НКЛО, НКОЛ Если Лена не первая, то вариантов тоже 18: ОКЛН, ОКНЛ, ОЛКН, ОЛНК, ОНКЛ, ОНЛК, КОЛН, КОНЛ, КНЛО, КНОЛ, КЛОН, КЛНО, НОКЛ, НОЛК, НЛОК, НЛКО, НКЛО, НКОЛ Если Оля и Катя выступают друг за другом, то вариантов 12. 6 вариантов, когда Оля выступает перед Катей: ОКЛН, ОКНЛ, ЛОКН, НОКЛ, НЛОК, ЛНОК И 6 вариантов, когда Оля выступает после Кати: КОЛН, КОНЛ, ЛКОН, НКОЛ, НЛКО, ЛНКО.
54/27=
44/22=
56/14=