回 帖 发 新 帖 刷新版面

主题:求救!~~~

编程:
求数列A0,A1,A2,A3....A20。已知
A0=0,A1=1,A2=1
A3=A0+2A1+A2
A4=A1+2A2+A3
....



就是这样一个题目请大家多指教,本人是新手,因就要参加信息奥赛,想请教请教大家PASCAL语言的使用!
先在这谢谢了!

回复列表 (共2个回复)

沙发

方法1:求出递推式以后计算。
因为a3 - a2 - 2a1 - a0 = 0
求出x^3 - x^2 - 2x - 1 = 0的三个根x1,x2,x3
然后an = c1x1^n + c2x2^n + c3x3^n
再把a0=0,a1=1,a2=1代入算出c1,c2,c3,通式求出来了么an就能求了

方法2:或者列一个一位数组一个一个计算

方法3,最傻的:就用它的定义式写出来一个递归形式的return f(n-1)+2*f(n-2)+f(n-3)。不过写这个的话程序效率就。。。

板凳

?!

我来回复

您尚未登录,请登录后再回复。点此登录或注册