zoukankan      html  css  js  c++  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的完整表达式,以方便奶牛们做题。
    输入格式
      仅有一个数:N<201。
    输出格式
      请输出相应的表达式Sn,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
    样例输入
    3
    样例输出
    ((sin(1)+3)sin(1–sin(2))+2)sin(1–sin(2+sin(3)))+1
     
    本题使用j递归进行了求解,虽然通过了测试,但代码写的不是很好。基本思路是先生成An表达式,并把它们
    存放在数组中,Sn表达式的求解是在输入数据之后进行的。
    import java.util.Scanner;
    
    public class Main {
        static String [] strings = new String[202];
        static String getAn(int n){
            if(n==1){
               strings[1]= "sin(1";
               return strings[1];
            }
            else {
                if((n-1)%2==0){
                    strings[n]= getAn(n-1) + "+sin(" + n;
                    return strings[n];
                }
                else {
                    strings[n]= getAn(n-1) + "-sin("+ n;
                    return strings[n];
                }
            }
        }
        static String getSn(int n,int i){
            if(i==1){
                return "("+strings[1] + "+" + n +")";
            }
            return "("+getSn(n+1,i-1) +strings[i] + "+" + i+")";
        }
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int a = scanner.nextInt();
            getAn(200);
            for(int i=1;i<201;i++){
                for(int k=0;k<i;k++){
                    strings[i]+=")";
                }
            }
            if(a==1)
                System.out.println(strings[1]+"+"+1);
            else{
                String result = getSn(2,a-1) + strings[a] + "+" +1;
                System.out.println(result);
            }
    
        }
    }
  • 相关阅读:
    EntityFramework 插入自增ID主从表数据
    API接收数据反序列化失败问题查找
    Linq Group by获取数量和数据
    git 常用命令
    Redis安装及局域网访问配置CentOS
    Azure虚拟机网站部署 防火墙设置
    .NET基础拾遗(1)类型语法基础和内存管理基础【转】
    ASP.NET CSRF 解决【网摘】
    win7 oracle 冷恢复
    $.ajax中contentType: “application/json” 的用法[转]
  • 原文地址:https://www.cnblogs.com/zhanghaijie/p/8316571.html
Copyright © 2011-2022 走看看