首页 > 其他分享 >关于斐波那契数列

关于斐波那契数列

时间:2024-09-02 18:51:55浏览次数:4  
标签:数列 项是 int namespace cin long 斐波 那契 include

问题

输入整数N,求出斐波那契数列中的第N项是多少。

斐波那契数列的第0项是0,第1项是1,从第2项开始的每一项都等于前两项之和。

输入格式

第一行包含整数T,表示共有T个测试数据。

接下来T行,每行包含一个整数N。

输出格式

每个测试数据输出一个结果,每个结果占一行,

结果格式为Fib(N) = x,其中N为项数,x为第N项的值。

数据范围

0≤N≤60

解题思路

首先,进行循环T次的操作

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    int t,n;
    cin >> t;
    while(t--){
        
    }   
    return 0;
}

接着,定义长度为61的数组,并设值为0,将第0项设为0,第一项设为1,在进行n值的输入,进行从2到n+1循环操作,其中数组第i项的值为其前两项值的和,最后在for循环外输出结果

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    int t,n;
    cin >> t;
    while(t--){
        int f[60] = {0};
        f[0] = 0;
        f[1] = 1;
        cin >> n;
        for(int i = 2;i <= n; i++){
            f[i] = f[i-1]+f[i-2];
        }
        printf("Fib(%d) = %d\n",n,f[n]);
    }   
    return 0;
}

其中需要注意的是int 类型的范围为-2,147,483,648到2,147,483,647,但数组第59项的值为956722026041,超出了int范围,则输出结果与预期结果不符,因此我们需要将数组类型改变成long long类型,并输出类型改为%lld,

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    int t,n;
    cin >> t;
    while(t--){
        long long f[60] = {0};
        f[0] = 0;
        f[1] = 1;
        cin >> n;
        for(int i = 2;i <= n; i++){
            f[i] = f[i-1]+f[i-2];
        }
        printf("Fib(%d) = %lld\n",n,f[n]);
}   
    return 0;
}

标签:数列,项是,int,namespace,cin,long,斐波,那契,include
From: https://blog.csdn.net/xxjiaz/article/details/141635837

相关文章

  • 等比数列求和
    我们现在令:\[A=1+2+4+8+16+32+64+128+256+512+1024\\则2A=2+4+8+16+32+64+128+256+512+1024+2048\]这样我们构造出了一个新数列,而且这个数列的和等于原数列乘以公比。再将两个式子相减:\[\begin{array}{r}\begin{aligned}2A&=2+4+8+16+32+64+128+256+512+1024+2048......
  • 维护数列
    都是Splay比较常见的操作,平衡树节点维护是一个量:左右儿子,子树大小,节点代表的值(对于非哨兵来说,值等于输入的\(c\);对于哨兵来说,值等于\(0\)),节点代表的副本值(对于非哨兵来说,副本值等于值;对于哨兵来说,副本值等于\(-1001\)),子树代表的区间从左/右开始的最大和,子树代表的区间的总和以及最......
  • 斐波那契数列相关性质推导及证明
    大部分是上课做的笔记,包含我自己的一些思考的推导,希望可以帮助到大家!(更好的阅读体验)洛谷专栏查看:点击此处\(fib_{n+k}=fib_n\timesfib_{k+1}+fib_{n-1}\timesfib_{k}\)经典模型:一段台阶有\(n\)阶,从第\(\mathbf{1}\)阶开始,每次可以向上跳\(1\)阶或\(2\)阶,跳到第......
  • 全网最易懂的解题——C语言“求斐波那契数(递归)”
    那先来知道什么是斐波那契数列吧前两个数相加等于第三个数,如果其中数字都满足此条件,那么这就是斐波那契数列 现在我们要求第n个斐波那契数,代码框架先搭出来吧,找斐波那契数的函数就命名为Fib吧//求斐波那契数intmain(){ intn=0; printf("请输入你想知道第几个斐波......
  • 数列(贪心思维题)(很有意思哦)(读者 rp +++++++)
    数列(贪心思维题)(很有意思哦)(读者rp+++++++)序这是前段时间做的一道题,蛮有思维含量的,而且对于代码实现能力也有一定要求。作者也交了好多发......
  • 洛谷P1182 数列分段 Section II
    传送门:P1182数列分段SectionII消灭人类暴政,世界属于三体题目意思:题目说的很明白了思路:考虑部分分:20%的数据保证n<10,直接爆搜;40%的数据保证n<1000,n^2+前缀和搞定100%的数据:求每段最大和的最小值:明显的二分(n在10^5的范围也说明了这一点,因为二分查找的......
  • 面试+算法之动态规划(Java):斐波那契、背包问题、走棋盘、分苹果、连续子数组最大和、
    概述Dynamicprogramming,简称DP,动态规划,基础算法之一,维基百科的解释:是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时......
  • 【代码随想录训练营第42期 Day32打卡 - 从零开始动态规划 - LeetCode 509. 斐波那契数
    目录一、做题心得二、动规五步走三、题目与题解题目一:509.斐波那契数题目链接题解1:记忆性递归 题解2:动态规划题目二:70.爬楼梯 题目链接题解:动态规划题目三:746.使用最小花费爬楼梯题目链接题解:动态规划三、小结一、做题心得今天开始动态规划章节的第一......
  • 斐波那契数列
    1.函数递归:递归的本质就是自己调用自己。2.递归的定义:递归本身就是一个循环。3.递归的思想:越来越接近已知值。4.递归的总结:                  1)通过自己调用自己吧复杂的逻辑简单化,可以求得最终结果;         2)递归要有开始条件,也要有......
  • SciTech-Mathmatics-Mathmatical Analysis-Series: 解数列通项的通用模型
    解数列通项的通用模型......