SequentialDragon.java
Below is the syntax highlighted version of SequentialDragon.java
from §2.7 Recursion.
/*************************************************************************
* Compilation: javac SequentialDragon.java
* Execution: java SequentialDragon N
*
* Prints out instructions for drawing an order N dragon curve.
*
* % java SequentialDragon 0
* F
*
* % java SequentialDragon 2
* FLFLFRF
*
* % SequentialDragon 5
* FLFLFRFLFLFRFRFLFLFLFRFRFLFRFRFLFLFLFRFLFLFRFRFRFLFLFRFRFLFRFRF
*
* Limitations
* -------------
* - n must be between 0 and 31
*
*************************************************************************/
public class SequentialDragon {
public static void main(String args[]) {
int n = Integer.parseInt(args[0]);
int N = 1 << n; // 2^n
System.out.print("F");
for (int k = 1; k < N; k++) {
if ((k & ((k ^ (k-1)) + 1)) > 0) System.out.print("R");
else System.out.print("L");
System.out.print("F");
}
System.out.println();
}
}
Last updated: Wed Oct 27 05:56:49 EDT 2004
.
Copyright © 2004, Robert Sedgewick and Kevin Wayne.