#20838: 函數寫法


tommy123234345456567@gmail.com (星雨)

學校 : 國立內壢高級中學
編號 : 111941
來源 : [116.241.253.53]
最後登入時間 :
2023-01-26 21:21:44
d881. 作業苦多 -- CSDC | From: [118.168.124.117] | 發表日期 : 2020-03-10 23:01

f(d)=Sn=an3+bn2+cn1+k

首先我先講解一下這是甚麼東西

我們寫一個常數函數f(x)=3

x無論帶甚麼答案都是3

此時最高冪次是0

但是如果用S(n)總和呢

S(1)=3 , S(2)=3+3=6 , S(3)=3+3+3=9 ...

可得出S(n)=3n

冪次變成1了

再來看一個是等差數列的函數

假設f(x)=2n+3

f(1)=5 , f(2)=7 ...

這個時候最高冪次是1

換成S(n)呢

S(1)=5 , S(2)=5+7=12 , S(3)=5+7+9=21 ...

國中有好好上數學課的應該都知道

S(n)=(首項+末項)/2*項數

換成英文的話

S(n)=(5+(2n+3))/2*n=(4+n)*n=n2+4n

此時最高冪次是2

現在的題目是"數列的差為公差"

有學過遞迴的遞迴一般項可知道這種形式的一般項都可寫為an=an2+bn+k  

最高冪次為2

題目求的是總和

由上面的觀察可猜測最高冪次為3

所以f(d)=Sn=an3+bn2+cn+k

這時我們知道n是50 只差abck了
 
d=1帶入後 把前四項的值求出來 帶入f(d)
 
得知a=1/6 , b=0 , c=5/6 , k=0
 
d=2帶入後 把前四項的值求出來 帶入f(d)
 
得知a=2/6 , b=-3/6 , c=7/6 , k=0
 
d=3帶入後 把前四項的值求出來 帶入f(d)
 
得知a=3/6 , b=-6/6 , c=9/6 , k=0
 
透過觀察得知 (不想用到浮點數 把值*6)
 
a=0+1*d
 
b=3-3*d
 
c=3+2*d

k=0

S=(a*pow(50,3)+b*pow(50,2)+c*50+k)/6 (記得要除6回來)
 
ZeroJudge Forum