参考这个博客写的

#include<bits/stdc++.h>
using namespace std;
#define maxn 100010
int yh[2][maxn], n;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n;
n = 1 << n;
for (int i = 1; i <= n; i++) {
for (int j = n - i; j >= 1; j--) cout << "0 ";
int k = i % 2;
yh[k][i] = 1;
for (int j = 1; j < i; j++)yh[k][j] = yh[!k][j] + yh[!k][j - 1];
for (int j = 1; j <= i; j++) {
if (yh[k][j] % 2 == 1)cout << "1 ";
else cout << "0 ";
}
cout << endl;
}
}