编程语言
首页 > 编程语言> > Java版Sine之舞<经典递归>

Java版Sine之舞<经典递归>

作者:互联网

最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。
不妨设
An=sin(1–sin(2+sin(3–sin(4+…sin(n))…)
Sn=(…(A1+n)A2+n-1)A3+…+2)An+1
FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。


```java
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int x=sc.nextInt();
        System.out.println(s(1,x));
    }
    public static String f(int begin,int end){
        if(begin==end)
            return ("("+begin+")");
        else
            if(begin%2==1)
                return ("("+begin+"-sin"+f(begin+1,end)+")");
            else
                return ("("+begin+"+sin"+f(begin+1,end)+")");
    }
    public static String s(int begin,int end){

         if(begin==end&&end!=1)
             return ("(sin"+f(1,1)+"+"+begin+")");
         if(end==1)
             return ("sin"+f(1,1)+"+"+begin);
         if(begin==1){
             return (s(begin+1,end)+"sin"+f(1,end-begin+1)+"+"+begin);
         }
         else
             return ("("+s(begin+1,end)+"sin"+f(1,end-begin+1)+"+"+begin+")");
    }
}

标签:begin,end,int,sin,return,Java,FJ,Sine,之舞
来源: https://blog.csdn.net/weixin_45665566/article/details/111847865