Оглавление
тема
[Глубокие основы 5. Си 7] Треугольник Ян Хуэй
Описание вопроса
Учитывая n ( n ≤ 20 ) n(n\le20)п ( н≤20 ) , выведите первуюnnn строк.
Если вы не знаете, что такое треугольник Ян Хуэя, вы можете поискать закономерности, рассматривая примеры.
Формат ввода
никто
Выходной формат
никто
Пример №1
Пример ввода № 1
6
Пример вывода № 1
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
портал
https://www.luogu.com.cn/problem/P5732
код
/*
C++程序,计算杨辉三角的前n行
*/
#include<iostream>
using namespace std;
long long arr[1005][2015], n, m, i, j, p;
int main()
{
cin >> n;
m = 2 * n - 1;
// 初始化第一行和第二行的数值
for (i = 0; i < n; i++)
{
arr[i][n - i - 1] = 1;
arr[i][n + i - 1] = 1;
}
// 计算杨辉三角的每一行
for (i = 2; i < n; i++)
{
for (j = n - i + 1; j < n - 2 + i; j = j + 2)
arr[i][j] = (arr[i - 1][j - 1] + arr[i - 1][j + 1]);
}
// 输出杨辉三角前n行的数值
for (i = 0; i < n; i++)
{
p = 1;
for (j = n - i - 1; p < i + 2; j = j + 2)
{
cout << arr[i][j] << " ";
p = p + 1;
}
cout << endl;
}
return 0;
}
объяснять
Этот код представляет собой программу для генерации треугольников Ян Хуэй. Треугольник Ян Хуэя представляет собой последовательность чисел, расположенных в треугольнике, где каждое число равно сумме двух чисел, стоящих над ним. Функция кода состоит в том, чтобы ввести положительное целое число n, а затем сгенерировать n-строчный треугольник Ян Хуэй.
Конкретный процесс реализации выглядит следующим образом:
- Сначала положительное целое число n считывается со стандартного ввода.
- Вычислите количество столбцов m треугольника Ян Хуэя, его значение равно 2*n-1.
- Для каждой строки i установите элементы в столбце ni-1 и столбце n+i-1 равными 1. Это граничное условие треугольника Ян Хуэя.
- Начиная со строки 2, для каждой строки i, от столбца n-i+1 до столбца n-2+i, вычислите элементы в столбце за столбцом треугольника Ян Хуэй. Метод расчета заключается в том, что элемент в этой позиции равен сумме двух элементов над ним.
- Выведите результаты треугольника Ян Хуэя. Для каждой строки i выведите элементы столбец за столбцом от столбца ni-1 до столбца n-i+1. Следует отметить, что количество выходных элементов в каждой строке равно i+1.
- Программа завершается.
Персональный тест
Персональный тест AC