C++信息学奥赛练习题-杨辉三角

杨辉三角形

时间限制: 1000 ms 内存限制: 65536 KB

提交数:71618 通过数: 47548

【题目描述】

例5.11 打印杨辉三角形的前n(2≤n≤20)行。杨辉三角形如下图:

当n=5时

复制代码
        1
      1   1
    1   2   1
  1   3   3   1
1   4   6   4   1

输出:

复制代码
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

【输入】

输入行数n。

【输出】

输出如题述三角形。n行,每行各数之间用一个空格隔开。

【输入样例】

复制代码
5

【输出样例】

复制代码
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

这是一个典型双循环与二维数组结合的问题。

|-------------------|-------------------|--------------------|--------------------|-------------------|-------------------|
| 1 a[1][1] | | | | | |
| 1 a[2][1] | 1 a[2][2] | | | | |
| 1 a[3][1] | 2 a[3][2] | 1 a[3][3] | | | |
| 1 a[4][1] | 3 a[4][2] | 3 a[4][3] | 1 a[4][4] | | |
| 1 a[5][1] | 4 a[5][2] | 6 a[5][3] | 4 a[5][4] | 1 a[5][5] | |
| 1 a[6][1] | 5 a[6][2] | 10 a[6][3] | 10 a[6][4] | 5 a[6][5] | 1 a[6][6] |

答案代码如下

cpp 复制代码
#include<iostream>
using namespace std;
int main()
{
	int a[100][100],i,j,n;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=i;j++)
		{
			if(j==1||j==i) a[i][j]=1;
			else if(i>3&&j!=1||j!=i) a[i][j]=a[i-1][j-1]+a[i-1][j];
		}
	}
	for(i=1;i<=n;i++)
		{
			for(j=1;j<=i;j++)
			{
				cout<<a[i][j]<<" ";
			}
			cout<<endl;
		}
} 
相关推荐
追随者永远是胜利者12 分钟前
(LeetCode-Hot100)200. 岛屿数量
java·算法·leetcode·职场和发展·go
田里的水稻18 分钟前
LPC_激光点云定位(LSLAM)-正态分布变换(NDT)
人工智能·算法·数学建模·机器人·自动驾驶
宇木灵30 分钟前
C语言基础-八、结构体和共同(用)体
c语言·开发语言·数据结构·笔记·学习·算法
plus4s33 分钟前
2月21日(91-93题)
c++·算法
陈天伟教授36 分钟前
人工智能应用- 材料微观:03. 微观结构:纳米金
人工智能·神经网络·算法·机器学习·推荐算法
闻缺陷则喜何志丹42 分钟前
【数论 等差数列】P9183 [USACO23OPEN] FEB B|普及+
c++·数学·数论·等差数列
拳里剑气43 分钟前
C++ 11
开发语言·c++·学习方法
孞㐑¥1 小时前
算法—穷举,爆搜,深搜,回溯,剪枝
开发语言·c++·经验分享·笔记·算法
黄昏晓x1 小时前
C++----异常
android·java·c++
宇木灵1 小时前
C语言基础-九、动态内存分配
c语言·开发语言·学习·算法