時間限制: 1sec 記憶體限制: 128mb 提交: 1349 解決: 859
題目描述
最近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:
a1=sin(1)
a2=sin(1-sin(2))
a3=sin(1-sin(2+sin(3)))
sn:
s1=a1+1
s2=(a1+2)a2+1
s3=((a1+3)a2+2)a3+1
對於a :兩個相鄰的式子之間是有關係的,後乙個是由前乙個拼接而來,可以遞迴,也可以迭代
對於s:兩個相鄰的式子之間並沒有關係,只需要呼叫an函式即可,可以遞迴,也可以迭代
這裡對字串的操作使用的是c++的string類,使得字串的拼接變得簡單很多
主要是自己一開始把an寫錯了,直到檢查sn的時候才發現問題
迭代版:
#include#include#include#include#include#include#include#include#include#include#include#define ll long long
#define mem(a,b) memset(a,b,sizeof(a))
using namespace std;
inline int _read()
const int inf=0x3f3f3f3f;
const int mm=0;
int n;
string a(int x)
for(int i=1;i<=x;i++)
ax+=")";
return ax;
}string s(int x)
const int inf=0x3f3f3f3f;
const int mm=0;
int n;
string ast="sin(1";
string a(int s,int e,string str)
str+=s&1?'-':'+';
str+="sin(";
str+=(s+1+'0');
return a(s+1,e,str);
}string an(int x)
string s(int s,int e,string str)
Sine之舞(遞迴)
基礎練習 sine之舞 時間限制 1.0s 記憶體限制 512.0mb 問題描述 最近fj為他的奶牛們開設了數學分析課,fj知道若要學好這門課,必須有乙個好的三角函式基本功。所以他準備和奶牛們做乙個 sine之舞 的遊戲,寓教於樂,提高奶牛們的計算能力。不妨設an sin 1 sin 2 sin 3...
基礎練習 Sine之舞
問題描述 最近fj為他的奶牛們開設了數學分析課,fj知道若要學好這門課,必須有乙個好的三角函式基本功。所以他準備和奶牛們做乙個 sine之舞 的遊戲,寓教於樂,提高奶牛們的計算能力。不妨設an sin 1 sin 2 sin 3 sin 4 sin n sn a1 n a2 n 1 a3 2 an ...
基礎練習 Sine之舞
基礎練習 sine之舞 時間限制 1.0s 記憶體限制 512.0mb 問題描述 最近fj為他的奶牛們開設了數學分析課,fj知道若要學好這門課,必須有乙個好的三角函式基本功。所以他準備和奶牛們做乙個 sine之舞 的遊戲,寓教於樂,提高奶牛們的計算能力。不妨設an sin 1 sin 2 sin 3...