龙曲线(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[]) throws Exception {
String str_start = "F";
String str_end = "F";
String str_ret = "";
for(int i = 0; i<=6; i++){
if (i == 0){
str_ret = str_start;
System.out.println(str_ret);
continue;
}
str_ret = str_start + "L" + str_end;
System.out.println(str_ret);
str_end = str_start + "R" + str_end;
str_start = str_ret;
}
}
}