用C++实现: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
 
思路:先计算出An,然后把An代入到Sn中即可。运用递归解决An和Sn。
 1 #include<iostream>
 2 using namespace std;
 3 
 4 class dance
 5 {
 6 public:
 7     int get_n()
 8     {
 9         cin>>n;
10         return n;
11     }
12 
13     void dance_an(int i,int n)
14     {
15         if(i==n)
16         {
17             cout<<"sin(";
18             cout<<n;
19             cout<<")";
20         }
21         else
22         {
23             cout<<"sin(";
24             cout<<i;
25             if(i<n)
26             {
27                 if (i % 2 == 1)
28                 {
29                     cout << "-";
30                 }
31                 else
32                 {
33                     cout << "+";
34                 }
35             }
36             dance_an(i+1,n);
37             cout<<")";
38         }
39     }
40 
41     void dance_sn(int i,int n)
42     {
43         if(i==1)
44         {
45             dance_an(1,i);
46             cout<<"+";
47             cout<<n;
48         }
49         else
50         {
51             cout<<"(";
52             dance_sn(i-1,n);
53             cout<<")";
54             dance_an(1,i);
55             cout<<"+";
56             cout<<n-i+1;
57         }
58     }
59 private:
60     int n;
61 };
62 
63 int main(void)
64 {
65     dance cow;
66     int n=cow.get_n();
67     cow.dance_sn(n,n);
68     return 0;
69 }

 

 

原文链接: https://www.cnblogs.com/guanrongda-KaguraSakura/p/12656331.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    用C++实现:Sine之舞

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/340464

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午12:37
下一篇 2023年3月2日 上午12:37

相关推荐