输入只有一组,具体而言输入只包含一个正整数n(1 <= n <= 30),表示将要输出的杨辉三角的层数。 输出 输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开。
时间: 2023-06-16 15:04:14 浏览: 76
以下是 Python 的实现代码:
```python
n = int(input())
# 初始化杨辉三角
triangle = [[1]]
# 逐层计算杨辉三角
for i in range(1, n):
# 新建一层
row = [1]
# 计算当前层的中间部分
for j in range(1, i):
row.append(triangle[i-1][j-1] + triangle[i-1][j])
# 新层的最后一个元素也为1
row.append(1)
# 将新层加入三角形中
triangle.append(row)
# 输出杨辉三角
for row in triangle:
print(' '.join(map(str, row)))
```
输入样例:
```
5
```
输出样例:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
相关问题
c++ 输入只有一组,具体而言输入只包含一个正整数n(1 <= n <= 30),表示将要输出的杨辉三角的层数。 输出 输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开。
以下是使用 C++ 实现的解题思路:
1. 首先读入整数 n,表示要输出的杨辉三角的层数。
2. 定义一个二维数组 a,用来存放杨辉三角的各个数值。
3. 然后使用两重循环来计算杨辉三角中每个数的值,并将计算结果存入数组 a 中。
4. 最后使用一个循环来输出数组 a 中的值,即可得到相应层数的杨辉三角。
以下是 C++ 代码实现:
```c++
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n; // 输入杨辉三角的层数
int a[100][100] = {0}; // 定义二维数组 a,用来存放杨辉三角的各个数值
for(int i = 1; i <= n; i++) // 计算杨辉三角中每个数的值,并将计算结果存入数组 a 中
{
a[i][1] = 1;
a[i][i] = 1;
for(int j = 2; j <= i - 1; j++)
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
for(int i = 1; i <= n; i++) // 输出数组 a 中的值,即可得到相应层数的杨辉三角
{
for(int j = 1; j <= i; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
运行程序,输入 5,即可输出杨辉三角的前 5 层:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
C++输入只有一组,具体而言输入只包含一个正整数n(1 <= n <= 30),表示将要输出的杨辉三角的层数。 输出 输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开。
以下是 C++ 的代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n; // 输入杨辉三角的层数
int triangle[n][n]; // 定义二维数组储存杨辉三角
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
triangle[i][j] = 1; // 杨辉三角的首尾元素为1
} else {
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]; // 其他元素为上一层左右两个元素之和
}
cout << triangle[i][j] << " "; // 输出每个元素
}
cout << endl; // 换行
}
return 0;
}
```
例如,当输入为 `5` 时,输出的结果为:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
阅读全文