dotcpp1463 Sine之舞(找規律)

2021-10-07 13:18:12 字數 1685 閱讀 7752

時間限制: 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...