问题描述
s01串初始为"0"
按以下方式变换
0变1,1变01
输入格式
1个整数(0~19)
输出格式
n次变换后s01串
样例输入
3
样例输出
101
数据规模和约定
0~19
import java.util.Scanner;
public class ALGO139 {
public static void main(String[] args) {
String s = "";
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n==0){
System.out.println("0");
}else if(n==1){
System.out.println("1");
}else{
String string = f(s, n-1)+f(s, n-2);
StringBuffer sd = new StringBuffer(string);
System.out.println(sd.reverse());
}
}
static String f(String s,int n){
if(n==0){
return s="0";//递归出口
}else if(n==1){
return s="1";//递归出口
}else{
return f(s, n-1)+f(s, n-2);
}
}
}
解法2
mport java.util.Scanner;
public class ALGO139_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String str ="0";
while((n--)>0){
String s = "";
for(int i =0;i<str.length();i++){
if(str.charAt(i)=='0'){
s+="1";
}else if(str.charAt(i)=='1'){
s+="01";
}
}
str=s;
}
System.out.println(str);
}
}