#include<bits/stdc++.h>
int main()
{
std::vector<int> a(3, 0);
a[1] = 1;
int n;
std::cin >> n;
for(int i = 0; i < n; i++)
{
for(int j = 1; j <= a.size() - 2; j++)
{
std::cout << a[j];
if(j < a.size() - 2)
{
std::cout << " ";
}
else
{
std::cout << "\n";
}
}
std::vector<int> b = a;
for(int j = 1; j <= a.size() - 1; j++)
{
a[j] = b[j] + b[j - 1];
}
a.push_back(0);
}
return 0;
}
主要思路就是让数组始终多出一个为0的位,这样可以保证每次输出时最后一位一直为1。

京公网安备 11010502036488号