• 试题 基础练习 Sine之舞


    一.题目

    题目链接
      http://lx.lanqiao.cn/problem.page?gpid=T62
    问题描述
      最近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

    二.解决

    思路:按照题目给的两个表达式列字符串即可
    A[i]="A" + "sin(" + "i" + "i个)"
    s初始设为"n-1个'('"
    s="s" + "A[i]" + "+" + "n-i+1" + "1个)"
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int main(){
     4     int N;
     5     char t;
     6     cin>>N;
     7     string s="";
     8     string A="",T="",H=""; 
     9     for(int i=0;i<N-1;i++){
    10         //s初始设为"n-1个'('"
    11         s+='(';  
    12     }
    13     
    14     for(int i=1;i<=N;i++){
    15         //A[i]="A" + "sin(" + "i" + "i个)" 
    16         T+=')';//T是')'的叠加体 
    17         A+="sin(";
    18         t='0'+i;
    19         A+=t;//A是A[i]的叠加体 
    20         H=A+T;  //H表示A[i] 
    21         
    22         //s="s" + "H" + "+" + "n-i+1" + "1个)" 
    23         s+=H;
    24         s+='+';
    25         t='0'+(N-i+1);
    26         s+=t;
    27         if(i!=N) s+=')';
    28         
    29         //为下一个A[i]做准备 加上正负号 
    30         if(i%2==1) A+='-';
    31         else A+='+';
    32     }
    33     
    34     cout<<s<<endl;
    35 } 
     
     
     
  • 相关阅读:
    Scala入门基础1
    LitePal数据库的基本操作
    Android操作SQLate数据库
    Android广播的使用(自定义广播和本地广播)
    Android广播的使用(动态注册和静态注册)
    Android碎片的使用
    linux--硬链接与软连接
    linux下python环境的搭建
    系统时间的修改
    linux命令--文件和目录管理
  • 原文地址:https://www.cnblogs.com/Aiahtwo/p/12741581.html
Copyright © 2020-2023  润新知