全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1029 3
2013-11-22
fi<-function(n) {i<-1;f<-1;f[2]<-1;while(i<n-2){f[i+2]<-f+f[i+1];i<-i+1;};f[i+2]}
> fi(12)
错误于f[i + 2] <- f + f[i + 1] : 更换参数长度为零
这个求斐波那契第n项的函数问题在哪里?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-11-22 13:35:33
第一个问题:分号请用英文分号

第二个问题:注意你的循环体,两个错误,一是判断的条件是小于等于而非小于,二是你是执行完累加再i+1的所以最后输出f[i+2]必然就不对了,可以改成f[i+1]或者f[n]

第三个问题:建议你多想想这个程序有哪些优化方法
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-22 15:11:06
复制代码
按楼主的方法   还有个问题就是最后的结果输入f[i+2],由于i=i+1后,也必为空值。按楼主方法修改了下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-24 18:03:56
f[i + 2] <- f + f[i + 1]  
-----------------
这里有错误,R中的向量、矩阵都能用变量名调用,这里f表示一个向量,如果在你的表达式中有f[i]的话;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群