| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1665 人关注过本帖
标题:大神求救!
只看楼主 加入收藏
风卷浪起
Rank: 3Rank: 3
来 自:universe
等 级:论坛游侠
威 望:4
帖 子:166
专家分:149
注 册:2021-11-13
结帖率:76.47%
收藏
已结贴  问题点数:30 回复次数:7 
大神求救!
小蒜蒜最近学习了斐波那契数列。

斐波那契数列是指这样的数列:数列的第一个和第二个数都为 1,接下来每个数都等于前面 2 个数之和。

给出一个正整数 k,要求斐波那契数列中第 k 个数是多少。

输入格式
输入一行,包含一个正整数 k。(1≤k≤46)

输出格式
输出一行,包含一个正整数,表示斐波那契数列中的第 k 个数。

输出时每行末尾的多余空格,不影响答案正确性。

样例输入
19
样例输出
4181
大佬们,帮帮忙!寒假作业,需及时提交!好难啊!30高分悬赏!(可以用C++或Python)
搜索更多相关主题的帖子: 数列 斐波那契 个数 输出 正整数 
2022-02-07 11:10
风卷浪起
Rank: 3Rank: 3
来 自:universe
等 级:论坛游侠
威 望:4
帖 子:166
专家分:149
注 册:2021-11-13
收藏
得分:0 
我自己写了一个,大家看看吧!C++的:
include <iostream>
using namespace std;
int h[46];
int main()
{
    int k, answer, a = 0;
    cin >> k;
    for (int i = 0; i <= 46; i += 1)
    {
        if (1 == i)
        {
            h[i] = 1;
        }
        else
        {
            h[i] = h[i-1] + h[i-2];
        }
    }
    answer = h[k];
    cout << answer;
    return 0;
}

人生苦短,我用Python~~~
2022-02-07 11:22
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:216
帖 子:1479
专家分:9035
注 册:2010-3-16
收藏
得分:15 
直接计算
程序代码:
#include <iostream>
using namespace std;
int main()
{
    int a=0,b=0,c=1,n;
    cin >> n;
    for(int i=1;i<=n-1;i++)
    {
        a=b;
        b=c;
        c=a+b;
    }
    cout << c << endl;
    return 0;
}



递归方法
程序代码:

#include <iostream>
using namespace std;

long feibo(int n)
{
    if(n==1 || n==2) return 1;
    return feibo(n-1)+feibo(n-2);
}

int main()
{
    int n;
    cin >> n;
    cout << feibo(n) << endl;
    return 0;
}


[此贴子已经被作者于2022-2-7 14:24编辑过]

2022-02-07 14:15
shmily_cbb
Rank: 2
等 级:论坛游民
帖 子:10
专家分:15
注 册:2021-12-10
收藏
得分:15 
#使用列表解决
list_t = [0, 1]
number_t = int(input("请输入一数字:"))
if number_t >= 1:
    list_t.append(list_t[1] + list_t[0])
    ii_t = 3
    while ii_t <= number_t:
        len_t = len(list_t)
        list_t.append(list_t[len_t - 2] + list_t[len_t - 1])
        ii_t += 1
print(list_t[len(list_t)-1])
2022-02-08 08:19
时光流逝
Rank: 4
来 自:北京
等 级:业余侠客
威 望:8
帖 子:92
专家分:297
注 册:2019-11-16
收藏
得分:0 
可以直接用公式:斐波那契数列第n项=(1/√5){[(1+√5)/2]^n-[(1-√5)/2]^n}
2022-02-09 20:25
风卷浪起
Rank: 3Rank: 3
来 自:universe
等 级:论坛游侠
威 望:4
帖 子:166
专家分:149
注 册:2021-11-13
收藏
得分:0 
谢谢!

人生苦短,我用Python~~~
2022-02-10 10:40
sssooosss
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:3
帖 子:664
专家分:1115
注 册:2019-8-27
收藏
得分:0 
共同学习
2022-02-11 19:19
czw2011
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2022-3-26
收藏
得分:0 
纠正一下 @风卷浪起
#include <iostream>
using namespace std;
int h[46];
int main()
{
    int k, answer, a = 0;
    cin >> k;
    for (int i = 0; i <= 46; i += 1)
    {
        if (1 == i)
        {
            h[i] = 1;
        }
        else
        {
            h[i] = h[i-1] + h[i-2];
        }
    }
    answer = h[k];
    cout << answer;
    return 0;
}
2022-03-26 16:44
快速回复:大神求救!
数据加载中...
 
   



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

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