龙曲线(Dragon Curve)是一个分形图案模式,随着迭代次数的增加,图案呈现出一条西方故事中“龙”的形象,因此被称为龙曲线。
请写一个程序来输出生成龙曲线的指令。程序输出0-6阶的曲线指令即可。指令是字符集F,L和R的组合。这里的F是指“向前移动一个单元并画直线”,L意思是左转,R指右转。
你可以想象为把一张纸条沿对角线折叠N次,画上直线印痕后展开得到的图形。实际上,第N次迭代后,其指令字符串实际上相当于(第N-1次指令)加上 L 再加上(第N-1次指令的反向移动)。
以第1次为例,其指令为FLF,其反向后为 FRF (从右往左读,并且把L换成R),则第二次指令为: FLFLFRF
输入:
程序无输入
输出:
生成龙曲线的指令,0~6阶,每阶的输出各占一行。
public class Main {
public static void main(String[] args) {
String [] str = new String[8];
String dragonOrder = "F" ;
str[0] = "F" ;
for (int i = 0; i <=6; i++) {
System.out.println(str[i]);
str[i+1] = str[i] + "L" + dragonOrder ;
dragonOrder = str[i] + "R" + dragonOrder ;
}
}
}