搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 菲波拉契数列(前两项为1,此后每项均为前两项之和)程序错误出在哪里?希望高手能指点
标题:
菲波拉契数列(前两项为1,此后每项均为前两项之和)程序错误出在哪里?希望 ...
只看楼主
Devil_W
等 级:
青峰侠
威 望:
9
帖 子:1160
专家分:1797
注 册:2009-9-14
第
21
楼
得分:0
以下是引用
Devil_W
在2010-5-4 18:32:39的发言:
不知道你们能不能算到第100000个斐氏级数是几。
以及前100000级数的和是几。
谁还能把这个算出来的?
2010-05-04 20:50
mjw1124
来 自:湖北武汉
等 级:
论坛游民
帖 子:48
专家分:48
注 册:2010-4-17
第
22
楼
得分:0
#include<stdio.h>
int main(void)
{
int i;
int fib[20]={1,1};
for(i=2;i<20;i++)
fib[i]=fib[i-1]+fib[i-2];
for(i=0;i<20;i++){
printf("%6d",fib[i]);
if((i+1)%5==0)
printf("\n");
}
return 0;
}
这就是用数组做的,更简单。
2010-05-04 21:33
遥望江南hsj
等 级:
等待验证会员
帖 子:29
专家分:0
注 册:2010-4-13
第
23
楼
得分:0
真是太谢谢各位了!
2010-05-22 00:51
aiyinsitan
等 级:
论坛游侠
帖 子:183
专家分:177
注 册:2010-4-22
第
24
楼
得分:0
我觉得用递归也比较简单
但是这样怎么没结果
#include "stdio.h"
void main()
{
int pt(int );
int sum=0,i;
for(i=0;i<=20;i++)
printf("%d",pt(i));
}
int pt(int n)
{
int sum=0;
if(n==1||n==2)
{
sum=1;
}
else
sum=pt(n-1)+pt(n-2);
return sum;
}
2010-05-22 09:57
aiyinsitan
等 级:
论坛游侠
帖 子:183
专家分:177
注 册:2010-4-22
第
25
楼
得分:0
#include "stdio.h"
void main()
{
int pt(int );
int sum=0,i=20;
printf("%d",pt(i));
}
int pt(int n)
{
int sum=0;
if(n==1||n==2)
{
sum=1;
}
else
sum=pt(n-1)+pt(n-2);
return sum;
但是把i具体付个值就有结果 如图
2010-05-22 10:00
落叶飘飘
该用户已被删除
第
26
楼
得分:0
提示:
作者被禁止或删除 内容自动屏蔽
2010-05-22 12:13
26
3/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-304639-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.643291 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved