#include #include #include #include #include ifstream in ("fractal.in"); char fractal[2048][1024]; int main() { for (int i=0; i<2048; i++) { for (int j=0; j<1024; j++) { fractal[i][j]=' '; } } // 1 fractal[0][0]='\\'; fractal[1][0]='_'; fractal[2][0]='_'; fractal[3][0]='/'; fractal[1][1]='\\'; fractal[2][1]='/'; // Shame on me *sigh* // 2 for (int i=0; i<4; i++) { for (int j=0; j<2; j++) { fractal[i+(4)][j] = fractal[i][j]; fractal[i+(2)][j+(2)] = fractal[i][j]; } } // 3 for (int i=0; i<8; i++) { for (int j=0; j<4; j++) { fractal[i+8][j] = fractal[i][j]; fractal[i+4][j+4] = fractal[i][j]; } } // 4 for (int i=0; i<16; i++) { for (int j=0; j<8; j++) { fractal[i+16][j] = fractal[i][j]; fractal[i+8][j+8] = fractal[i][j]; } } // 5 for (int i=0; i<32; i++) { for (int j=0; j<16; j++) { fractal[i+32][j] = fractal[i][j]; fractal[i+16][j+16] = fractal[i][j]; } } // 6 for (int i=0; i<64; i++) { for (int j=0; j<32; j++) { fractal[i+64][j] = fractal[i][j]; fractal[i+32][j+32] = fractal[i][j]; } } // 7 for (int i=0; i<128; i++) { for (int j=0; j<64; j++) { fractal[i+128][j] = fractal[i][j]; fractal[i+64][j+64] = fractal[i][j]; } } // 8 for (int i=0; i<256; i++) { for (int j=0; j<128; j++) { fractal[i+256][j] = fractal[i][j]; fractal[i+128][j+128] = fractal[i][j]; } } // 9 for (int i=0; i<512; i++) { for (int j=0; j<256; j++) { fractal[i+512][j] = fractal[i][j]; fractal[i+256][j+256] = fractal[i][j]; } } // 10 for (int i=0; i<1024; i++) { for (int j=0; j<512; j++) { fractal[i+1024][j] = fractal[i][j]; fractal[i+512][j+512] = fractal[i][j]; } } int a,si, sj; string line; while (1) { in >> a; if (a == 0) break; sj = pow(2,a-1)*2; si = pow(2,a-1)*4; for (int j=sj-1; j>=0; j--) { line = ""; for (int i=si-1; i>=0; i--) { line += fractal[i][j]; //cout << fractal[i][j]; } for (int i=line.size()-1;i>=0;i--) { if (line[i] == ' ') line[i] = '#'; else break; } for (int i=0; i