搜索
查看: 857|回复: 13
打印 上一主题 下一主题

斐波那契问题这样写有问题吗?请大家指点!

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-22 13:33:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<stdio.h>
int main(){
        long int f1 = 1, f2 = 1;
        int N,i;
        const int one = 1;
        scanf("%d",&N);
        for(i = 2; i <= N; i++){
                f1 = f1 + f2;
                f2 = f1 + f2;
        }
        if(N < 2){
                printf("%d\n",one);
        }
        else{
            printf("%d\n",f1);
        }
        return 0;
}
沙发
发表于 2014-4-22 13:53:52 | 只看该作者
f1是fib的第1、3、5……项
如果你是要输出第n项的话,不对
板凳
发表于 2014-4-22 17:55:05 | 只看该作者
本帖最后由 李掌柜 于 2014-4-22 18:11 编辑

                f1 = f1 + f2;
                f2 = f1 + f2;
介才完全不是斐波那契数的性质特性了,,
斐波那契数通项公式(是用无理数表示有理数的一个范例。)
a1=1,a2=1,an=a(n-1)+a(n-2)(n>=3,n∈N*
其实就是
       1;      第一项
       1;      第二项
1+1=2;     第三项
2+3=5;     第四项
3+5=8;     第五项
5+8=13;    第六项
..........;      ..........
介个用数据结构(C语言版)
选择排序算法中的一个叫swap函数很像,,
你可以看我前段时间写那个帖子,
[代码百科][简单斐波那契]
当然啦斐波那契数还有其它解决算法~~


地板
发表于 2014-4-22 18:02:08 | 只看该作者
李掌柜 发表于 2014-4-22 17:55
f1 = f1 + f2;
                f2 = f1 + f2;
介才完全不是斐波那契的性质特性了

输出几项看看如何?
5#
发表于 2014-4-22 18:30:02 | 只看该作者
rosynirvana 发表于 2014-4-22 18:02
输出几项看看如何?

介个是错误的条件,,不是斐波那契数性质,
6#
发表于 2014-4-22 18:36:16 | 只看该作者
本帖最后由 rosynirvana 于 2014-4-22 18:39 编辑
李掌柜 发表于 2014-4-22 18:30
介个是错误的条件,,不是斐波那契数性质,

再去仔细推导推导吧
记住那是C statement,写出来当然和数学表达式不一样
7#
发表于 2014-4-22 18:46:43 | 只看该作者
rosynirvana 发表于 2014-4-22 18:36
再去仔细推导推导吧
记住那是C statement,写出来当然和数学表达式不一样

你觉得这个表达式能成立!!?
8#
发表于 2014-4-22 18:53:02 | 只看该作者
李掌柜 发表于 2014-4-22 18:46
你觉得这个表达式能成立!!?

他写的是C statement,不是数学表达式
             f1    f2
计算前 1     1
第一次 2     3
第二次 5     8
第三次 13   21
其实就是所有奇数项都在f1上,所有偶数项都在f2上
9#
发表于 2014-4-22 19:10:09 | 只看该作者
rosynirvana 发表于 2014-4-22 18:53
他写的是C statement,不是数学表达式
             f1    f2
计算前 1     1

声明什么?
声明条件后是等于斐波那契数性质么?
还是我的编译器有问题?
斐波那契数的第10项怎么可能等于4181?

再次观摩 阿木的代码,介个和奇数,偶数有神马关联?
10#
发表于 2014-4-22 19:24:51 | 只看该作者
本帖最后由 rosynirvana 于 2014-4-22 19:29 编辑
李掌柜 发表于 2014-4-22 19:10
声明什么?
声明条件后是等于斐波那契数性质么?
还是我的编译器有问题?

声明? 什么声明? 我可从来没说到声明?
用他的代码求到的不是斐波那契数列的第n项,而是2n - 1项,或者说奇数项
我在一开始的回复中就说了
f1是fib的第1、3、5……项
如果你是要输出第n项的话,不对

你看到8楼还不知道是要把f1 和 f2拼起来就是斐波那契数列?
11#
发表于 2014-4-22 20:05:34 | 只看该作者
C statement
12#
 楼主| 发表于 2014-4-22 21:28:04 | 只看该作者
rosynirvana 发表于 2014-4-22 13:53
f1是fib的第1、3、5……项
如果你是要输出第n项的话,不对

谢谢嗯,我再看看
13#
 楼主| 发表于 2014-4-22 21:29:00 | 只看该作者
李掌柜 发表于 2014-4-22 18:30
介个是错误的条件,,不是斐波那契数性质,

谢谢恩,我再好好看看!
14#
发表于 2014-4-22 21:54:15 | 只看该作者

不认识词去查查词典
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表