java:s01串

java:s01串

题目

问题描述
  s01串初始为"0"
  按以下方式变换
  01101
输入格式
  1个整数(0~19)
输出格式
  n次变换后s01串
样例输入
3
样例输出
101
数据规模和约定
  0~19

例如3
0变成1
1变成01
01变成101
就是之前的振兴中华,有两个步骤可以变

代码

import java.util.Scanner;

public class s01{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();//输入n
		String str="";
		str=change(n,str);
		StringBuffer strb=new StringBuffer(str);
		System.out.println(strb.reverse());
	}
	public static String change(int n,String str){
		if(n==0)
			return str="0";
		if(n==1)
			return str="1";
		return change(n-1,str)+change(n-2,str);
	}
}

这个好妙啊
首先先把str初始为0,之后在定义一个字符,下面的操作就是如果是0就变为1,如果是1就变成01,当有3次以上的时候就是每位的数字进行变化,并且a都开始加上原数,并一直初始a字符,str就保存每次的值,而且都是从开始n有几次就执行几次。

import java.util.Scanner;

public class s011 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		String str="0";
		while(n>0){
			String a="";
			for(int i=0;i<str.length();i++){
				if(str.charAt(i)=='0')
					a+="1";
				else if(str.charAt(i)=='1')
					a+="01";
			}
			str=a;
			n--;
		}
		System.out.println(str);
	}

}

发布了146 篇原创文章 · 获赞 3 · 访问量 2800

猜你喜欢

转载自blog.csdn.net/weixin_44522477/article/details/104539949
今日推荐