输出九行杨辉三角的代码
时间: 2024-12-17 11:50:37 浏览: 10
杨辉三角是一个经典的数学问题,它是一个由数字构成的金字塔形状,每一行的每个数字都是前两行对应位置数字之和。在Python中,我们可以使用嵌套循环来生成这个三角形。下面是一个简单的代码示例:
```python
def print_pascal_triangle(n):
triangle = [[0 for _ in range(n)] for _ in range(n)]
# 初始化第一行和第二行
triangle[0] = [1]
if n > 1:
triangle[1] = [1, 1]
# 从第三行开始填充
for i in range(2, n):
for j in range(min(i, n - i)):
triangle[i][j] = triangle[i - 1][j] + triangle[i - 1][j + 1]
# 打印三角形
for row in triangle:
print(' '.join(map(str, row)))
# 调用函数输出九行的杨辉三角
print_pascal_triangle(9)
```
运行这段代码,你会得到九行的杨辉三角。如果你需要更多行数,只需改变`print_pascal_triangle(9)`中的数字即可。
相关问题
C#输出九行杨辉三角
在C#中,我们可以使用递归的方式来打印出九行的杨辉三角。杨辉三角是一个数阵,每一行的数字是由上一行的两个数字相加得到的。下面是简单的代码示例:
```csharp
using System;
class PascalTriangle
{
static void Main()
{
// 打印九行杨辉三角
for (int i = 0; i < 9; i++)
{
// 每行的前导空格
for (int j = 0; j < i; j++)
{
Console.Write(" ");
}
// 初始化当前行的第一个和最后一个数字
int num = i == 0 ? 1 : 0;
Console.Write(num + " ");
// 生成当前行剩余的数字并打印
for (int k = 1; k <= i - 1; k++)
{
num = GetNextNumber(i, k);
Console.Write(num + " ");
}
// 当前行结束时换行
Console.WriteLine();
}
}
static int GetNextNumber(int row, int col)
{
return row > col ? 0 : ((row - col) * (row - col + 1)) / (col * col);
}
}
```
这个程序首先初始化每行的前导空格,然后计算并打印每个位置的数字,最后在行结束时换行。`GetNextNumber`方法用于计算每个位置的数字,它通过杨辉三角的递推公式来得出。
输出右图所示的九行杨辉三角形。(杨辉三角形是指三角形的两条斜边上都是1,而其余的数都等于它肩上的两个数字相加)c语言
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int triangle[10][10] = {0}; // 初始化为0
int i, j;
for (i = 0; i < 10; i++) {
triangle[i][0] = 1; // 第一列都为1
triangle[i][i] = 1; // 对角线都为1
}
for (i = 2; i < 10; i++) {
for (j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]; // 递推计算
}
}
for (i = 0; i < 10; i++) {
for (j = 0; j <= i; j++) {
printf("%d ", triangle[i][j]); // 输出杨辉三角
}
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
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
```
每行数字之间用空格隔开。
阅读全文