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;
		}
} 
相关推荐
zxsz_com_cn3 小时前
设备预测性维护算法核心功能有哪些?六大模块拆解智能运维的“技术骨架”
运维·算法
期末考复习中,蓝桥杯都没时间学了3 小时前
力扣刷题13
数据结构·算法·leetcode
qq_296544653 小时前
短视频下载教程,抖音B站视频下载
c++
2201_756989093 小时前
C++中的事件驱动编程
开发语言·c++·算法
多米Domi0114 小时前
0x3f 第48天 面向实习的八股背诵第五天 + 堆一题 背了JUC的题,java.util.Concurrency
开发语言·数据结构·python·算法·leetcode·面试
2301_822377654 小时前
模板元编程调试方法
开发语言·c++·算法
啟明起鸣4 小时前
【C++ 性能提升技巧】C++ 的引用、值类型、构造函数、移动语义与 noexcept 特性,可扩容的容器
开发语言·c++
故以往之不谏4 小时前
函数--值传递
开发语言·数据结构·c++·算法·学习方法
渐暖°4 小时前
【leetcode算法从入门到精通】5. 最长回文子串
vscode·算法·leetcode