#include <iostream>
#include <vector>
using namespace std;
// 函数用于生成杨辉三角形,并返回一个二维向量
vector<vector<int>> generatePascalsTriangle(int numRows) {
vector<vector<int>> triangle;
// 如果行数为0,直接返回空的二维向量
if (numRows == 0) {
return triangle;
}
// 第一行总是 [1]
triangle.push_back({1});
// 从第二行开始逐行生成
for (int i = 1; i < numRows; ++i) {
vector<int> row;
vector<int> prevRow = triangle[i - 1];
// 每行的第一个元素总是1
row.push_back(1);
// 中间的元素是上一行相邻两个元素之和
for (int j = 1; j < i; ++j) {
row.push_back(prevRow[j - 1] + prevRow[j]);
}
// 每行的最后一个元素总是1
row.push_back(1);
// 将当前行加入到三角形中
triangle.push_back(row);
}
return triangle;
}
// 打印杨辉三角形
void printPascalsTriangle(const vector<vector<int>>& triangle) {
for (const auto& row : triangle) {
for (int num : row) {
cout << num << " ";
}
cout << endl;
}
}
int main() {
int numRows;
cout << "请输入要生成的杨辉三角形的行数: ";
cin >> numRows;
vector<vector<int>> pascalsTriangle = generatePascalsTriangle(numRows);
printPascalsTriangle(pascalsTriangle);
return 0;
}
generatePascalsTriangle函数:该函数接收一个整数参数numRows,表示要生成的杨辉三角形的行数。它返回一个二维向量,其中每个子向量代表杨辉三角形的一行。printPascalsTriangle函数:该函数接收一个二维向量作为参数,表示杨辉三角形,并将其打印出来。main函数:程序的入口点。用户输入要生成的杨辉三角形的行数,然后调用generatePascalsTriangle函数生成杨辉三角形,并通过printPascalsTriangle函数打印出来。这个程序可以帮助你生成并打印指定行数的杨辉三角形。
上一篇:c++ strcpy
下一篇:c++ 函数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站