首页 > 其他分享 >实验5-3 使用函数求Fibonacci数

实验5-3 使用函数求Fibonacci数

时间:2024-10-26 14:21:48浏览次数:8  
标签:数列 int fib 实验 Fibonacci 两项 函数

本题要求实现求Fabonacci数列项的函数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。

函数接口定义:

int fib( int n );

函数fib应返回第n项Fibonacci数。题目保证输入输出在长整型范围内。

裁判测试程序样例:

#include <stdio.h>

int fib( int n );

int main()
{
    int n;

    scanf("%d", &n);
    printf("%d\n", fib(n));

    return 0;
}

/* 你的代码将被嵌在这里 */

答案:迭代方法

int fib(int n) {
    int i = 0;
    int a = 1;
    int b = 1;
    int c = 0;
    if (n <= 2) {
        return 1;
    }
    else {
        for (i = 3; i <= n; i++) {
            c = a + b;
            a = b;
            b = c;
        }
        return c;
    }
}

递归方法(计算量大不适用于计算较大的斐波那契数列)

int fib(int n) {
    if (n <= 2) {
        return 1;
    }
    else {
        int ret = fib(n - 1) + fib(n - 2);
    }
}

标签:数列,int,fib,实验,Fibonacci,两项,函数
From: https://blog.csdn.net/owardl/article/details/143253134

相关文章

  • 浙大版《C语言程序设计实验与习题指导(第4版)实验6-6 使用函数验证哥德巴赫猜想
    本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口给定如下intprime(intp);voidGoldbach(intn);其中函数prime当用户传入参数p......
  • 实验三
    实验任务1源代码1#include<stdio.h>23charscore_to_grade(intscore);45intmain(){6intscore;7chargrade;89while(scanf("%d",&score)!=EOF){10grade=score_to_grade(score);11printf......
  • 实验2 类和对象_基础编程1
    任务1:t.h#pragmaonce#include<string>//类T:声明classT{//对象属性、方法public:T(intx=0,inty=0);//普通构造函数T(constT&t);//复制构造函数T(T&&t);//移动构造函数~T();//析构函数voidadjus......
  • 函数式组件
    函数式组件:通过函数调用的方式添加组件。传统调用组件方式的困扰:<Childv-if='isShow':msg='msg'/><botton@click='btnClick'/>importChildfrom'@/components/Child'letisShow=ref(false);letmsg=ref('111');letbtn......
  • C语言数组与函数实践:构建基础版扫雷游戏
         使用C语言中的数组和函数来构建一个简单的扫雷游戏。通过这个项目,你可以练习如何在C语言中使用数组来存储和处理游戏数据,如何使用函数来组织代码并提高代码的可读性和可维护性。        在实现这个项目时,你可以按照以下步骤进行:1、定义游戏数组:使用二维数......
  • 函数递归
    函数递归目录​什么是递归递归的限制条件递归的举例递归与迭代1.递归是什么?​递归中的递就是递推的意思,归就是回归的意思。递归是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。写一个最简单的C语言递归代码:#include<stdio.h>intmain(){ printf("hehe......
  • time函数
    一、导包importname二、函数time.time()     功能:返回一个时间戳从1970年1月1日00:00:00UTC到当前时刻的秒数,这个时间戳是一个浮点数。 time.sleep(seconds)   功能:让程序暂停执行指定的秒数。time.localtime([secs])   功能:将一个......
  • python内置函数大全
    文章目录一、数学运算相关二、类型转换相关三、序列操作相关四、对象操作相关五、反射操作相关六、输入输出相关七、文件操作相关八、代码编译执行相关九、装饰器相关十、其他Python的内置函数是Python提供的一系列可以直接使用的函数,这些函数涵盖了数学运算、类型......
  • 【Python中的匿名函数】如何高效使用lambda表达式!
    Python中的匿名函数:如何高效使用lambda表达式Python中的匿名函数,也被称为lambda表达式,是一种简洁的函数定义方式。它们在某些场景中能够显著简化代码结构,提升可读性和代码执行效率。本文将详细讨论lambda表达式的使用方法、优缺点、适用场景以及使用技巧,帮助你更高效地应用......
  • 网卡工具类 - C#小函数类推荐
          此文记录的是网卡操作的工具类。/***网卡工具类AustinLiu刘恒辉ProjectManagerandSoftwareDesignerE-Mail:[email protected]:http://lzhdim.cnblogs.comDate:2024-01-1515:18:00使用方法:1、获取......