fork download
  1. #include <stdio.h>
  2. #define high 32
  3. #define yoko 64
  4.  
  5. int screen[high][yoko];
  6.  
  7. void draw_fractal(int x, int y, int size) {
  8. if (size == 1) {
  9. screen[y][x] = 'X';
  10. return;
  11. }
  12.  
  13. int half = size / 2;
  14.  
  15. // 3つの小さな三角形に分割
  16. draw_fractal(x, y, half);
  17. draw_fractal(x - half, y + half, half);
  18. draw_fractal(x + half, y + half, half);
  19. }
  20.  
  21. int main(void) {
  22. // 1. 空白で初期化
  23. for (int y = 0; y < high; y++) {
  24. for (int x = 0; x < yoko; x++) {
  25. screen[y][x] = ' ';
  26. }
  27. }
  28.  
  29. draw_fractal(32, 0, high);
  30.  
  31. // 3. 画面に出力
  32. for (int y = 0; y < high; y++) {
  33. for (int x = 0; x < yoko; x++) {
  34. putchar(screen[y][x]);
  35. }
  36. putchar('\n');
  37. }
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 5284KB
stdin
2
stdout
                                X                               
                               X X                              
                              X   X                             
                             X X X X                            
                            X       X                           
                           X X     X X                          
                          X   X   X   X                         
                         X X X X X X X X                        
                        X               X                       
                       X X             X X                      
                      X   X           X   X                     
                     X X X X         X X X X                    
                    X       X       X       X                   
                   X X     X X     X X     X X                  
                  X   X   X   X   X   X   X   X                 
                 X X X X X X X X X X X X X X X X                
                X                               X               
               X X                             X X              
              X   X                           X   X             
             X X X X                         X X X X            
            X       X                       X       X           
           X X     X X                     X X     X X          
          X   X   X   X                   X   X   X   X         
         X X X X X X X X                 X X X X X X X X        
        X               X               X               X       
       X X             X X             X X             X X      
      X   X           X   X           X   X           X   X     
     X X X X         X X X X         X X X X         X X X X    
    X       X       X       X       X       X       X       X   
   X X     X X     X X     X X     X X     X X     X X     X X  
  X   X   X   X   X   X   X   X   X   X   X   X   X   X   X   X 
 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X