按照题目要求的格式进行递归即可。
将Sn和An作为两个部分,分别进行递归。
参考代码:
public class Main { public static int N; public static String An(int n, int m) { if(n == m) return "sin(" + n + ")"; char fh; if(n % 2 == 0) { fh = '+'; } else { fh = '-'; } return "sin(" + n + fh + An(n + 1, m) + ")"; } public static String Sn(int n) { if(n == 1) return An(1, 1) + "+" + N; return "(" + Sn(n - 1) + ")" + An(1, n) + "+" + ((N + 1) - n); } public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); N = in.nextInt(); System.out.println(Sn(N)); in.close(); } }
0.0分
1 人评分
printf基础练习2 (C语言代码)浏览:502 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:592 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:740 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:728 |
很简单,,题解1041:C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:584 |
1025题 初学者,求帮忙看下,不知道哪错了浏览:316 |
C语言程序设计教程(第三版)课后习题6.7 (C++代码)浏览:586 |
计算表达式浏览:641 |
数字统计 (C语言代码)浏览:1094 |