Младший задавал мне вопрос об интервью на Java, но вопросы не были сложными. Реализуйте треугольник Ян Хуи с Java. Мне потребовалось некоторое время, чтобы разобраться и обнаружил, что это было довольно интересно, поэтому я хотел записать это и поделиться этим. Перед написанием кода давайте сначала уточнем следующие два вопроса.
Что такое треугольник Ян Хуи
Треугольник Ян Хуи - это геометрическое расположение биномиальных коэффициентов в треугольнике. Это было упомянуто в «подробном объяснении алгоритма девяти глав», написанного Ян Хуи, математиком южной династии сун Сун в моей стране в 1261 году. В Европе он называется Паскальским треугольником, как показано на фигуре.
Ян Хуи Треугольник
Закон треугольника Ян Хуи является принципом
1. Каждое число равно сумме двух чисел над ним.
2. Каждый ряд чисел является симметричным левым и справа, и постепенно становится больше с 1.
3. Число в строке N имеет n терминов.
4. Сумма чисел N-я линии 2n-1.
5. Количество M в NTH ROW может быть выражено как C (N-1, M-1), то есть количество комбинаций элементов M-1, взятых из N-1 различных элементов.
6. MTH-число в строке N равно N-M+1 чисел, который является одним из свойств комбинированного числа.
7. Каждое число равно сумме левого и правого номера предыдущей строки. Это свойство может быть использовано для написания всего треугольника Ян Хуи. То есть I-Th-число в строке N+1 равно сумме I-1-го числа и I-TH-числа в строке N, что также является одним из свойств комбинированного числа. То есть c (n+1, i) = c (n, i)+c (n, i-1).
8. Коэффициенты в формуле расширения (A+B) N соответствуют каждому элементу в (N+1) линии треугольника Yang Hui по очереди.
9. Подключите первое число в строке 2n+1, с третьим номером в строке 2n+2, пятое число в строке 2n+3, а сумма этих чисел - 4n+1 Fibonacci номер; Перенесите второе число в строке 2n-1 (n> 1), с четвертым номером в строке 2n-2 и шестым номером в строке 2n-2 ... сумма этих чисел-4n-2 Fibonacci номер.
10. Установите числа в каждой строке, и вы можете получить N-1 из 11 (n-количество строк) Мощность: 1 = 11^0; 11 = 11^1; 121 = 11^2 ... Когда n> 5, он не будет соответствовать этому свойству. В настоящее время самого правого числа «1» на n-й строке должно быть размещено в одной цифре, а затем выровнять единую цифру числа слева до десяти цифр ......, и т. Д., Заполните пустое пространство «0», а затем добавьте все числа вместе, а полученное число точно в N-1. В качестве примера, пример, число из рядовой строки Elevent: ряд Elevent:-это: ряд Elevent:-это:-это: ряд Elevent:-это:-это: ряд Elevent:-это:-это: levent ряд: является: ряд Elevent:-это: на: ряд leletend: является: ряд Elevent:-: 1,10,45,120,210,252,210,120,45,10,1, и результат - 25937424601 = 1110.
Понимая эти два момента, наше мышление становится очень ясным. Есть много способов его реализации, здесь я планирую использовать двумерный массив, а также двойной цикл для его реализации.
демо -код:
открытый класс yanghui {public static void main (string [] args) {// создать двумерный массив int t [] [] = new int [10] []; // Переносить первый слой двумерного массива для (int i = 0; i <t.length; i ++) {// Инициализировать размер второго массива слоя t [i] = new int [i+1]; // Переносить второй массив слоев для (int j = 0; j <= i; j ++) {// назначить элементы массива с обеих сторон 1 if (i == 0 || j == 0 || j == i) {t [i] [j] = 1; } else {// Другие значения рассчитываются по формуле T [i] [j] = t [i-1] [j]+t [i-1] [j-1]; } // System System System.out.print (t [i] [j]+"/t"); } // System System.out.println (); }}}Выходные результаты в консоли следующие:
Только десять рядов треугольника Ян Хуи выводят здесь. Оптимизируйте его и может быть изменен на динамическое получение количества строк. Его также можно превратить в положительный треугольник, просто добавьте петлю, чтобы рассчитать пространство. Заинтересованные студенты могут попробовать. ―-Из Java 18-й программист
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.