蓝桥杯-Sine之舞-java

题目

问题描述最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。不妨设An=sin(1–sin(2+sin(3–sin(4+...sin(n))...)Sn=(...(A1+n)A2+n-1)A3+...+2)An+1FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。
输入格式仅有一个数:N<201。
输出格式请输出相应的表达式Sn,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
3
样例输出
((sin(1)+3)sin(1–sin(2))+2)sin(1–sin(2+sin(3)))+1

思路分析

  这道题不难,但是有点绕,需要静下心来梳理一下。这个题需要两层递归来做。
  首先分析一下外层的Sn,需要有大到小递归,也就是n,n-1,n-2……1,以index记录当前递归的位置,那么式子是"("+printfSN(n,index-1)+")"+printfAn(index,1,"")+"+"+(n - index + 1)
  对于内层式子,An,需要由小到大递归,也就是1,2,3……n,以index记录递归的位置,以str记录已经拿到的字符串,那么公式就是str+"sin("+index+operation+printfAn(n, index + 1, str)+")";

代码


import java.util.Scanner;/*** @author zjg* <p> 2019/3/11 11:23 </p>*/
public class Sine之舞 {public static void main(String[] args) {Scanner sca = new Scanner(System.in);int n = sca.nextInt();System.out.println(printfSN(n, n));}private static String printfSN(int n, int index) {if (index == 1) {return printfAn(1, 1, "")+"+"+n;}return "("+printfSN(n,index-1)+")"+printfAn(index,1,"")+"+"+(n - index + 1);}private static String printfAn (int n, int index, String str) {if (n == index) {return "sin("+index+")";}String operation = "-";if (index % 2 == 0) {operation = "+";}return str+"sin("+index+operation+printfAn(n, index + 1, str)+")";}}

蓝桥杯-Sine之舞-java相关推荐

  1. java 蓝桥杯 Sine之舞

    问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功.所以他准备和奶牛们做一个"Sine之舞"的游戏,寓教于乐,提高奶牛们的计算能力 ...

  2. 蓝桥杯 Sine之舞

    题目: 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功.所以他准备和奶牛们做一个"Sine之舞"的游戏,寓教于乐,提高奶牛们的计算能力. ...

  3. 2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数

    2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数 在线评测 Ideas 对于一个纯循环小数,假设循环节为l,则小数为0.llll-,转换为分数就是 l / (10 ** n ...

  4. 2013蓝桥杯java试题_蓝桥杯2013决赛java本科b组试题.doc

    蓝桥杯2013决赛java本科b组试题.doc 试题一:公式求值问题描述输入n,m,k,输出下面公式的值.其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数.组合数的计算公式如 ...

  5. java迷宫类编程题_第十届蓝桥杯省赛java类B组 试题 E:迷宫 (动态规划之回溯法)...

    问题描述 试题 E: 迷宫 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方. 010000 000100 001001 110000 迷宫的入口为 ...

  6. 第十二届蓝桥杯省赛JAVA B组杨辉三角形个人题解

    第十二届蓝桥杯省赛JAVA B组杨辉三角形个人题解(非满分) import java.util.Scanner; public class Main {public static void main( ...

  7. 蓝桥杯 拿金币 java实现

    蓝桥杯 拿金币 java实现(通俗易懂) 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 有一个N x N的方格,每一个格子都有一些金币,只要站在格子里就能拿到里面的金币.你站在最左 ...

  8. 蓝桥杯软件类Java语言IDE(Eclipse)安装

    蓝桥杯软件类Java语言IDE(Eclipse)安装以及个性化设置 平时都在用idea搞工程类项目,正好报了下学期的蓝桥杯算法比赛,看到官网要求用eclipse编码,之前也参加过ccf-csp的比赛, ...

  9. 2021第十二届蓝桥杯省赛JAVA B组 题目+答案(复现赛)

    2021第十二届蓝桥杯省赛JAVA B组 题目+答案(复现赛) A:ASC B:卡片 C:直线 D:货物摆放 E:路径 Floyed Dijkstra F:时间显示 G:最少砝码 H:杨辉三角形 I: ...

最新文章

  1. 第1章 信息检索基础
  2. 016 在大数据中,SSH无密钥登录
  3. php中include和require,在PHP中include和require到底有什么区别呢?
  4. 一个优秀的程序员应该如何提高工作效率?
  5. [DC]学习design compiler
  6. pythongui界面实例_wxPython:python首选的GUI库实例分享(5)
  7. c 语言重载参数类型不同重载和,C/C++函数重载与缺省参数
  8. 华为USG6000v防火墙双机热备综合实验
  9. ZEMAX | 如何倾斜和偏心序列光学元件
  10. matlab各相关系数的计算,matlab 相关系数的计算
  11. 搭建一个基于 Vue + Vant 的移动端项目模板
  12. php验证码手册,验证码 - ThinkPHP 5.1 完全开发手册
  13. 好玩的读心术猜数字游戏
  14. Mac新手使用技巧——Mac如何强制关机
  15. 07深圳浩项隔音窗,隔音知识与方法
  16. blender FLIP-Fluids 流体教程帮助系列02
  17. IOS开发入门之二——第一个App
  18. 数组名和指针的区别和联系、数组名取地址a
  19. 香港机房BGP线路有什么用
  20. SD卡扇区损坏引起了读文件失败

热门文章

  1. 部署企业中第一个站点
  2. catia打开stp文件不是实体_Catia与Stp格式转换时居然有这么多技巧,你造吗?
  3. 【基于stm32f103C8T6-小程序智能家居项目实战-自绘PCB到实现功能一条龙+30分钟解决-各种bug已修复】
  4. 从新建文件夹开始构建ShadowPlay Engine游戏引擎(6)
  5. 为什么普遍用Linux做服务器?
  6. 计算机二级python刷题笔记(1)
  7. 浅谈云函数的代理IP利用面
  8. 元宇宙核心技术:概述——未来已来
  9. BAT54C代替1n4148的思考
  10. 那些年用过的音乐软件