作者joyce618 (joy)
站内Statistics
标题Re: [程式] 想请问如何利用sas推导费波那切数列^^
时间Mon May 9 23:04:34 2011
※ 引述《joyce618 (joy)》之铭言:
: ------------------------------------------------------------------------
: [软体程式类别]:sas
: [程式问题]:资料处理
: [软体熟悉度]:
: 低(1~3个月)
: [问题叙述]:想利用sas推导Fibonacci数列
: 出来的格式想要为
: n F
: 0 1
: 1 1
: 2 2
: 3 3
: 4 5
: 5 8
: ...
: 300 XXX
: 基本上n=0及n=1时,直接设定F=1
: 从n=2开始,F值是前两项数字加总,也就是F(2)=F(0)+F(1)依此类推下去一直到n=300
: [程式范例]:目前能想到的是利用回圈进行运算
不好意思,虽然已经有大人回答我的问题了,
不过因为实在还没学到矩阵的语法,
所以小妹比较想要知道能不能用目前学到的语法进行推导
刚刚小妹研究了一下目前学到语法
小妹打算先将格式扩展如下
n F Fa
0 1
1 1 1
2 2 1
3 3 2
4 5 3
也就是说虽然n=0及1时的F是直接设定的
但是小妹先在n=1时多设一个变数,使Fa=上一个F
而到n=2以後,F=上一个F与Fa相加,Fa=上一个F
依此类推下来
因此小妹用这个想法另外整理出其他写法,但是还是跑不出结果
可以麻烦各位大人帮小妹看一下语法吗
麻烦各位了
小妹另外想出的写法如下:
DATA Fabo;
DO n=0 to 1;
IF n=0 then F=1;
ELSE IF n=1 then F=Fa=1;
ELSE IF n>2 then DO;
RETAIN lastF;
RETAIN lastFa;
F=lastF+lastFa;
Fa=lastF;
output;
lastF=F;
lastFa=Fa;
END;
END;
OUTPUT;
PROC PRINT;
RUN;
非常感谢各位的帮忙^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.114.192