3526537_ce.cpp
来自「北大大牛代码 1240道题的原代码 超级权威」· C++ 代码 · 共 54 行
CPP
54 行
#include <stdio.h>
#include <math.h>
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 n;
int i, j;
while (true) {
scanf("%d", &n);
if (n == 0) {
break;
}
int length = (int)pow(2, 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(" ");
}
for (j = 0; j < width; j++) {
printf("%c", getChar(i, j, length));
}
printf("\n");
}
}
}
int main() {
run();
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?