码迷,mamicode.com
首页 > 其他好文 > 详细

Sine之舞(递归/递推)

时间:2020-07-14 21:57:13      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:基本功   tail   str   帮助   log   找规律   i++   提高   font   

Description

 

最近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的完整表达式,以方便奶牛们做题。

 

Input

 

仅有一个数:N<201。

 

Output

 

请输出相应的表达式Sn,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。

 

Sample Input 1 

3

Sample Output 1

((sin(1)+3)sin(1–sin(2))+2)sin(1–sin(2+sin(3)))+1

Solution
//虽然是很简单的题,但是找规律还是找了半天,参考博客(https://blog.csdn.net/summer_dew/article/details/82082459?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase

#include<stdio.h>

void A(int n) {
  int i;
  for (i = 1;i <= n;i++) {
    printf("sin(%d", i);
    if (i % 2 == 0 && i != n)
      printf("+");
    if (i % 2 != 0 && i != n)
      printf("-");
  }
  for(i=0;i<n;i++)
    printf(")");
}

void S(int n) {
  int i,j;
  j = n;
  for (i = 0;i < n - 1;i++)
    printf("(");
  for (i = 1;i <= n;i++) {
    A(i);
    printf("+%d", j);
    if (j != 1)
      printf(")");
    j--;
  }
}

int main() {
  int n;
  scanf("%d", &n);
  S(n);
  return 0;
}

Sine之舞(递归/递推)

标签:基本功   tail   str   帮助   log   找规律   i++   提高   font   

原文地址:https://www.cnblogs.com/solitude-cosmos/p/13301831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!