解题思路:

    递归解法:找到S(n) 和 S(n-1) 的关系,即可快速做出。



注意事项:





参考代码:

import java.util.Scanner;

public class C1463 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while (sc.hasNext()) {
			int n = sc.nextInt();
			StringBuffer sb = S(n, n);
			System.out.println(sb);
		}
		sc.close();
	}
	
	private static StringBuffer S(int n, int m){
		StringBuffer sb = new StringBuffer();
		if(n == 1)
			sb.append(An(1)).append("+" + (m));
		else
			sb.append("(").append(S(n-1, m)).append(")").append(An(n)).append("+" + (m-n+1));
		return sb;
	}
	
	private static StringBuffer An(int n){
		StringBuffer sb = A(n);
		while(n-- > 0)
			sb.append(")");
		return sb;
	}
	
	private static StringBuffer A(int n){
		StringBuffer sb = new StringBuffer();
		if(n == 1)
			sb.append("sin(1");
		else 
			sb.append(A(n-1)).append(n%2==1 ? "+" : "-").append("sin("+n);
		return sb;
	}
}


点赞(1)
 

0.0分

3 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论