下列程序实现了输出杨辉三角形,代码中横线部分应该填入的是( )。
#include <iostream>
using namespace std;
#define N 35
int a[N][N];
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= i; j++) {
if (j == 1 || j == i)
a[i][j] = 1;
else
________ // 在此处填入选项
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++)
cout << a[i][j];
cout << endl;
}
return 0;
}排列组合问题:先判断是否考虑顺序(排列P vs 组合C),再确定是否允许重复。乘法原理分步,加法原理分类。
模拟执行时注意:① 循环变量的起始和终止值;② 递归的边界条件;③ 数据类型转换和精度问题。
【考点】杨辉三角递推|动态规划|二维数组
---
本题考查GESP 八级·动态规划·杨辉三角递推,是八级试卷中唯一考杨辉三角的题目。命题人卡住的是考生对递推关系的几何理解——绝大多数人背过"杨辉三角"四个字,但一到具体实现就无从下手。