📄 3526553_pe.cpp
字号:
#include <stdio.h>
#include <math.h>
#include <string>
#include <algorithm>
using namespace std;
string map[1 << 10];
char str[2][5] = {
"/\\",
"/__\\"
};
char getChar(int i, int j, int length) {
if (length == 2) {
return str[i][j];
}
int half = length / 2;
if (i < half) {
return getChar(i, j, half);
}
i -= half;
if (j < (i + 1) * 2) {
return getChar(i, j, half);
}
if (j >= length) {
return getChar(i, j - length, half);
}
return ' ';
}
void run() {
int i, j;
int length = (int)pow(2.0, 10);
int width = 2;
for (i = 0; i < length; i++, width += 2) {
map[i] = "";
for (j = 0; j < width; j++) {
map[i] += getChar(i, j, length);
}
}
}
void go() {
int n;
int i, j;
while (scanf("%d", &n) == 1 && n != 0) {
int length = (int)pow(2.0, n);
int tmp = length - 1;
int width = 2;
for (i = 0; i < length; i++, tmp--, width += 2) {
for (j = tmp - 1; j >= 0; j--) {
printf(" ");
}
puts(map[i].c_str());
}
}
}
int main() {
run();
go();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -