/**
* 折纸问题 这段代码写的太low了 本人水平有限 哎。。。 全是字符串了
* @param n
* @return
* @date 2016-10-7
* @author shaobn
*/
public static String[] flodpaper(int n){
int length = (int)Math.pow(2,n)-1;
int position = (int)Math.pow(2,n-1)-1;
String[] strings = new String[length];
strings[position] = "down";
if(n==1){
return strings;
}else {
String string_2 = new String();
for(String string:flodpaper(n-1)){
string_2+=string;
string_2+=" ";
}
string_2+="down";
string_2+=" ";
String string_3 = new String();
for(String string:flodpaper(n-1)){
if(string.equals("down")){
string_3+="up";
string_3+=" ";
}else {
string_3+="down";
string_3+=" ";
}
}
String[] strings4 = string_3.split(" ");
for(int i = strings4.length-1;i>=0;i--){
string_2+=strings4[i];
string_2+=" ";
}
String[] strings2 = string_2.split(" ");
return strings2;
}
}
请把纸条竖着放在桌⼦上,然后从纸条的下边向上⽅对折,压出折痕后再展 开。此时有1条折痕,突起的⽅向指向纸条的背⾯,这条折痕叫做“下”折痕 ;突起的⽅向指向纸条正⾯的折痕叫做“上”折痕。如果每次都从下边向上⽅ 对折,对折N次。请从上到下计算出所有折痕的⽅向。
给定折的次数n,请返回从上到下的折痕的数组,若为下折痕则对应元素为"down",若为上折痕则为"up"