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;
		}
} 
相关推荐
卷福同学5 小时前
QClaw内测体验,能用微信指挥AI干活了
人工智能·算法·ai编程
sali-tec5 小时前
C# 基于OpenCv的视觉工作流-章34-投影向量
图像处理·人工智能·opencv·算法·计算机视觉
xiaoye-duck5 小时前
《算法题讲解指南:递归,搜索与回溯算法--递归》--3.反转链表,4.两两交换链表中的节点,5.快速幂
数据结构·c++·算法·递归
Eward-an5 小时前
【算法竞赛/大厂面试】盛最多水容器的最大面积解析
python·算法·leetcode·面试·职场和发展
山栀shanzhi5 小时前
归并排序(Merge Sort)原理与实现
数据结构·c++·算法·排序算法
阿豪学编程5 小时前
LeetCode438: 字符串中所有字母异位词
算法·leetcode
Trouvaille ~5 小时前
【递归、搜索与回溯】专题(七):FloodFill 算法——勇往直前的洪水灌溉
c++·算法·leetcode·青少年编程·面试·蓝桥杯·递归搜索回溯
地平线开发者6 小时前
征程 6P codec decoder sample
算法·自动驾驶
地平线开发者6 小时前
征程 6X Camera 接入数据评估
算法·自动驾驶
Storynone6 小时前
【Day23】LeetCode:455. 分发饼干,376. 摆动序列,53. 最大子序和
python·算法·leetcode