标题:c++for循环
只看楼主
小猴子不服输
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2023-1-7
结帖率:100%
已结贴  问题点数:20 回复次数:12 
c++for循环
怎么用fou循环打印出费波纳契数列前20项啊 书上给的好多地方都看不懂 求大佬
搜索更多相关主题的帖子: c++ 数列 for 打印 循环 
2023-01-07 19:20
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:14 
可以去C++版块问问
2023-01-07 22:34
sam_jiang
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:542
专家分:781
注 册:2021-10-13
得分:0 
跑错片场了。。。
2023-01-09 15:50
sam_jiang
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:542
专家分:781
注 册:2021-10-13
得分:0 
给出vfp代码如下:

CLEAR
FOR i=1 TO 20
    ?fx(i)
ENDFOR

FUNCTION fx
PARAMETERS num
ON ERROR cancel
IF num=1 OR num=2
    nreturn=1
ENDIF
IF num>2
    nreturn=fx(num-1)+fx(num-2)
ENDIF
RETURN nreturn   
ENDFUNC

2023-01-09 18:37
sam_jiang
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:542
专家分:781
注 册:2021-10-13
得分:0 
上面这段递归代码运行好像比较慢,可以用下面一段代码,运行速度快多了。
程序代码:
PARAMETERS n
clea
n=20
DIMENSION sz(n)
FOR i=1 TO n
    IF i<3
        sz(i)=1
    ELSE
        sz(i)=sz(i-1)+sz(i-2)
    ENDIF
ENDFOR
FOR j=1 TO n
    ?sz(j)
ENDFOR 
2023-01-09 19:00
sam_jiang
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:542
专家分:781
注 册:2021-10-13
得分:0 
还可以更简洁:
local a,b,i
STORE 1 TO a,b
FOR i=1 to 10   
    ?a,b
    a=b+a
    b=a+b         
endfor
2023-01-09 19:55
sam_jiang
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:542
专家分:781
注 册:2021-10-13
得分:0 
以下是引用sam_jiang在2023-1-9 19:55:52的发言:

还可以更简洁:
local a,b,i
STORE 1 TO a,b
FOR i=1 to 10   
    ?a,b
    a=b+a
    b=a+b         
endfor

上面这段好像只能实现偶数个数,不能实现奇数个数。因此还可以优化,让它速度更快,占用内存更少:
local a,b,c,i
a=0
b=1
c=1
FOR i=1 to 20
    ?c
    c=a+b   
    a=b
    b=c
ENDFOR
2023-01-09 23:18
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:57
帖 子:713
专家分:556
注 册:2016-6-29
得分:0 
回复 7楼 sam_jiang
看样子把它吃透了!

素数问题的解决是我学习编程永恒的动力。
2023-01-10 22:48
sam_jiang
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:542
专家分:781
注 册:2021-10-13
得分:0 
回复 8楼 独木星空
因为首先想到的是用递归方法,可没想到运行速度奇慢。就琢磨着怎么改进算法,提高运行速度!
2023-01-11 09:31
hu1dao
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-10-9
得分:0 
回复 7楼 sam_jiang
b=1
a=0
FOR i=1 TO 10   
    i=a+b
    ?i
    STORE i TO  (IIF(a>b,"b","a"))
ENDFOR
2023-01-12 00:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511066-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052194 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved