⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fractal.java

📁 ULM大学200-2002年竞赛题
💻 JAVA
字号:
// Problem   The Sierpinski Fractal// Algorithm Recursion// Runtime   O(n^2)// Author    Walter Guttmann// Date      30.12.2001import java.io.*;public class fractal {  static void recurse (int n, char[][] out, int x, int y)  {    if (n == 1)    {      out[x][y] = out[x-1][y+1] = '/';      out[x][y+1] = out[x][y+2] = '_';      out[x][y+3] = out[x-1][y+2] = '\\';      return;    }    int ofs = 1 << (n-1);    recurse (n-1, out, x, y);    recurse (n-1, out, x, y+2*ofs);    recurse (n-1, out, x-ofs, y+ofs);  }  public static void main (String[] arg) throws Exception  {    BufferedReader in = new BufferedReader (new FileReader ("fractal.in"));    StreamTokenizer st = new StreamTokenizer (in);    while (st.nextToken () != st.TT_EOF)    {      int n = (int) st.nval;      if (n == 0) break;      int xlen = 1 << n;      int ylen = 2 * xlen;      char[][] out = new char[xlen][ylen];      for (int i=0 ; i<xlen ; i++)        for (int j=0 ; j<ylen ; j++)          out[i][j] = ' ';      recurse (n, out, xlen-1, 0);      for (int i=0 ; i<xlen ; i++)        for (int j=ylen-1 ; j>=0 ; j--)          if (out[i][j] != ' ')          {            System.out.println (new String (out[i], 0, j+1));            break;          }      System.out.println ();    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -