cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 2859|回复: 10

【应用】斐波拉契数列及一个精简思路

[复制链接]
发表于 2010-3-31 18:26:19 | 显示全部楼层 |阅读模式
斐波拉契数列,即1,1,2,3,5,8,13,21,34……
要求第n项的数值,(编程初学者,代码可能不太好。)

代码:


a := 0
b := 1
readln(n);
for i := 1 to n do
   begin
   b := b+a;
   a := b-a;
   end;
writeln(a);




ES方法如下:


准备:
n→X
0→A
1→B

开始:
XP1-1→X:A+B→B:B-A→A

答案在变量A中。




总结:这里将判断语句和赋值语句结合到了一起:XP1-1→X
判断X是否大于0时,也使X=X-1,省略了1/4的等号。
发表于 2010-3-31 18:34:45 | 显示全部楼层
n-1->y
1->x
1->a
Rec(Pol(a-x,y-1),y)+0/y+a->a
 楼主| 发表于 2010-3-31 18:36:32 | 显示全部楼层
2# hcz
刚才贴子没发完,不好意思哈。
发表于 2010-3-31 18:38:12 | 显示全部楼层
嗯,刚看到
发表于 2010-4-2 08:09:14 | 显示全部楼层
未命名.PNG
哈哈
发表于 2010-4-2 14:29:08 | 显示全部楼层
。。我火星了。。。。
发表于 2010-4-6 18:57:50 | 显示全部楼层
n→X
1→A
1→B


Pol(X-1,0)*0+0/(X-2)+A+B->A:Pol(X-1,0)*0+0/(X-2)+A+B->B
 楼主| 发表于 2010-4-6 19:16:04 | 显示全部楼层
7# kkoosky
好繁琐,等号应该很少么?
发表于 2010-4-6 20:09:29 | 显示全部楼层
7楼的方法还是麻烦了,一个式子就可以完美解决的。
不过按等号次数已经最精简了(每个等号都是一个有效输出),式子也在100字符之内,一样ok的

另,其实不用ES编程,只要用5L提供的代数式同样可以搞定
发表于 2010-4-16 19:39:02 | 显示全部楼层
1 -> x
1 -> y
=====================
x + y -> x:x + y -> y
发表于 2010-4-18 16:30:45 | 显示全部楼层
没多,都是一个等号一个结果
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-11-22 08:41 , Processed in 0.775489 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表