蓝桥杯 基础练习 Sine之舞

基础练习 Sine之舞  题目如下:

主要用的递归和字符串拼凑的方法:

代码如下

import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
	
		System.out.println(l(n,1));
	}

	public static String l(int m,int n){
		if(m==1) {
			return An(n,1)+"+"+m;
		}else if(n==1){
			String c = "";
			for(int i=1;i<m;i++) {
				c="("+c;
			}
			return c+An(n,1)+"+"+m+")"+l(m-1,n+1);
			
		}else {
			return An(n,1)+"+"+n+")"+l(m-1,n+1);
		}
	}
	public static String An(int m,int n){
		if(n==m) {
			return "sin("+n+")";
		}else {
			if(n%2!=0) { 
				return "sin("+n+"-"+An(m,n+1)+")";
			}else {
				return "sin("+n+"+"+An(m,n+1)+")";
			}
		}
	}
}

写的比较繁复    。

有问题请问我不过我可能会已经忘记了。。。

发布了14 篇原创文章 · 获赞 2 · 访问量 934

猜你喜欢

转载自blog.csdn.net/zoooo_/article/details/88756426
今日推荐