Правило. Чтобы разложить число на простые множители, надо: — записать его слева от вертикальной черты; — справа от черты записать первый делитель числа — самое маленькое число из таблицы простых чисел, на которое данное число делится без остатка; — в следующей строке слева под числом записать делимое первого этапа, которое является частным от деления данного числа на записанный справа на одной строке с ним делитель; — справа найти (как и первый делитель) наименьшее простое число, на которое делимое первого этапа делится без остатка, это число будет вторым делителем числа; — слева записать делимое второго этапа, которое есть частное от деления предыдущей строки делимого на ее же делитель; — для делимого второго этапа также найти делитель из наименьшего числа простых чисел, записать его на той же строке справа н т. д., пока в делимом последнего этапа не будет стоять 1; — делители, стоящие справа от черты, записать множителями данного числа.
: 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);
7,1-2,9= 4,2(км/ч) - собственная скорость