天天看點

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

多寫幾個式子, 找規律,無任何特殊技巧
#include<iostream>
#include <string>
using namespace std;

void An(int n){
    for(int i=1;i<=n;i++){
        cout<<"sin("<<i;
        if(i%2!=1&&i!=n){
            cout<<"+";
        } else if(i%2==1&&i!=n){
            cout<<"-";
        }
    }
    for(int i=0;i<n;i++){
        cout<<")";
    }

}
void Sn(int n){
    int t=n;
    for(int i=1;i<n;i++){
        cout<<"(";
    }
    for(int i=1;i<=n;i++){
        if(i!=n){
            An(i);
            cout<<"+";
            cout<<t;
            cout<<")";
            t--;
        }
        else{

            An(i);
            cout<<"+";
            cout<<t;
            t--;
        }

    }

}


int main(){
    int m;
    cin>>m;
    Sn(m);
    return 0;
}      

繼續閱讀