Sine之舞---递归

摘要:
蓝桥杯基本练习:正弦舞问题描述最近FJ为他的奶牛开设了数学分析课程。FJ知道,要学好这门课,你必须具备良好的三角函数基础知识。所以他打算和奶牛玩一个“正弦舞”游戏,以提高它们的计算能力。假设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的完整表达式,以便奶牛做作业。对于输出格式,请输出相应的表达式Sn,以换行符结尾。输出不得包含额外空格、换行符或回车符。
蓝桥杯基础练习: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
 
 1 import java.util.Scanner;
 2 
 3 public class Main {
 4     public static void main(String args[]){
 5         Scanner sc = new Scanner(System.in);
 6         int n = sc.nextInt();
 7         System.out.println(Sn(n,1));
 8     }
 9 
10     private static String Sn(int x,int y) {
11         if (x<=1) {
12             return An(x)+"+"+y;
13         }
14         return "("+Sn(x-1,y+1)+")"+An(x)+"+"+y;
15     }
16     
17     private static String An(int x) {
18         return Sin(x,1);
19     }
20     
21     private static String Sin(int x,int i) {
22         if (x<=1) {
23             return "sin("+(x+i-1)+")";
24         }
25         return "sin("+(i)+(i%2==0?"+":"-")+Sin(x-1,i+1)+")";
26     }
27 }

免责声明:文章转载自《Sine之舞---递归》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue自定义日期选择,类似美团日期选择,日历控件,vue日历区间选择大数据技术之_19_Spark学习_08_Spark 机器学习_01_机器学习概述 + 机器学习的相关概念 + 算法常用指标下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js 递归获取子节点所有父节点,深度遍历获取第一个子树

前端需求。 递归 深度优先遍历算法 // 查找一个节点的所有父节点 familyTree (arr1, id) { var temp = [] var forFn = function (arr, id) { for (var i = 0; i < arr.length; i++) {...

MSSQLSERVER数据库 递归查询例子

SqlServer2005版本的Sql如下:比如一个表,有id和pId字段,id是主键,pid表示它的上级节点,表结构和数据:CREATE TABLE [aaa]( [id] [int] NULL, [pid] [int] NULL, [name] [nchar](10))GOINSERT INTO aaa VALUES(1,0,'a')INSERT IN...

vue+elementui搭建后台管理界面(5递归生成侧栏路由)

有一个菜单树,顶层菜单下面有多个子菜单,子菜单下还有子菜单。。。 这时候就要用递归处理 1 定义多级菜单 修改 src/router/index.js 的 / 路由 { path: '/', redirect: '/dashboard', name: 'Container', component: Container,...

利用反射拿到并递归C#类中的各个字段名字及类型

以下方法实现了遍历一个class中所有的字段, 并且递归遍历sub class。 privateStringBuilder_properties=newStringBuilder(); publicMainView() { TraversalProperties(typeof(StudyInfoModel)); File.WriteAllText(...

HDU 2064 汉诺塔III(递归)

题目链接 Problem Description 约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。现在我们改变游戏的玩法,不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到...

马踏棋盘(递归算法)

#include <iostream.h>int board [8][8]={0};int Htry1[8]={-2,-1,1,2,2,1,-1,-2};int Htry2[8]={1,2,2,1,-1,-2,-2,-1};bool chech[8][8]={0};//标记位置是否已经被占用int n=1;//就算已走的步数void findw...