题目描述 本题要求按照规定格式打印前N行杨辉三角。 输入 输入在一行中给出N(1≤N≤10)。 输出 以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。 输入样例 6 输出样例 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
时间: 2023-12-31 12:06:27 浏览: 168
根据题目描述,我们需要按照规定格式打印前N行杨辉三角。每个数字占固定4位,以正三角形的格式输出。
以下是Python3代码实现:
```python
n = int(input())
# 初始化杨辉三角
triangle = [[1]]
# 构造杨辉三角
for i in range(n - 1):
row = [1]
for j in range(1, i + 1):
row.append(triangle[i][j - 1] + triangle[i][j])
row.append(1)
triangle.append(row)
# 计算最长数字的位数
max_num_width = len(str(triangle[-1][-1]))
# 打印杨辉三角
for row in triangle:
row_str = ''
for num in row:
num_str = str(num).rjust(max_num_width)
row_str += num_str + ' '
print(row_str.center(4 * n))
```
输出结果:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
相关问题
c语言题目描述 本题要求按照规定格式打印前N行杨辉三角。 输入 输入在一行中给出N(1≤N≤10)。 输出 以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。 输入样例 6 输出样例 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
// 初始化杨辉三角
int triangle[10][10] = {0};
triangle[0][0] = 1;
// 构造杨辉三角
for (int i = 1; i < n; i++) {
triangle[i][0] = 1;
for (int j = 1; j <= i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
// 计算最长数字的位数
int max_num_width = 4;
// 打印杨辉三角
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
printf("%*d", max_num_width, triangle[i][j]);
if (j < i) {
printf(" ");
}
}
printf("\n");
}
return 0;
}
```
输出结果:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
C++写程序7-3 打印杨辉三角 分数 10 全屏浏览题目 切换布局 作者 徐镜春 单位 浙江大学 本题要求按照规定格式打印前N行杨辉三角。 输入格式: 输入在一行中给出N(1≤N≤10)。 输出格式: 以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。
以下是C++程序实现杨辉三角的输出:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n;
int a[11][11] = {0};
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
a[i][j] = 1;
} else {
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
cout << setw(4) << a[i][j];
}
cout << endl;
}
return 0;
}
```
阅读全文