基礎練習 sine之舞
時間限制:1.0s 記憶體限制:512.0mb
問題描述
最近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和sn的遞迴方程就ok了,也可以理解為找規律。
首先分析an的表示式,容易知道最裡面的括號就是退出條件,當an的遞迴函式執行n次之後,返回sin(n);否則返回 sin(k+an(n-1)),k的值為 an遞迴函式的執行次數。設計函式的時候可以把k當引數傳進去,計算執行次數。
具體**見**塊。
再分析sn的表示式,當函式執行n次的時候返回 a1+n ,執行n次之前返回 sn(n-1)an+k,k的值為函式執行次數。設計函式的時候把k作為引數傳進函式。
這樣an和sn的遞迴函式都有了,就可以寫**了
#include #include #include using namespace std;string itoa(int k) //整形轉字串
return res;
}string an(int n,int k) //k這個引數用來計算執行次數,從1開始
else
藍橋杯 基礎訓練 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想讓奶...
藍橋杯 Sine之舞
描述 分析 遞迴問題。先遞迴求得a na n an 再根據a na n an 求出s ns n sn 寫這題花了40分鐘,看來還是功力太差 求後面的a na n an 時會重複求a1 an 1 a a a1 an 1 的步驟,顯然會浪費很多時間,如果用乙個字串陣列記錄下來會很好,然而即使沒加入記錄的...
(藍橋杯)Sine之舞
問題描述 最近fj為他的奶牛們開設了數學分析課,fj知道若要學好這門課,必須有乙個好的三角函式基本功。所以他準備和奶牛們做乙個 sine之舞 的遊戲,寓教於樂,提高奶牛們的計算能力。不妨設an sin 1 sin 2 sin 3 sin 4 sin n sn a1 n a2 n 1 a3 2 an ...