当前位置: 首页 > news >正文

1113: 递归调用的次数统计(函数专题)

题目描述

如下程序的功能是计算 Fibonacci数列的第n项。函数fib()是一个递归函数。请你改写该程序,计算第n项的同时,统计调用了多少次函数fib(包括main()对fib()的调用)。

#include<stdio.h>
int fib(int k);

int main(void )
{
    int n;
    scanf("%d", &n);
    printf("%d\n", fib(n));   
    return 0;
}

int fib(int k)
{
    if(k == 1 || k == 2)
        return 1;
    else
        return fib(k-1) + fib(k-2);
}

输入

输入一个正整数n。

输出

输入包含两行,第一行是一个整数,表示第n项的值;第二行输入递归调用了多少次,具体格式见输出样例。

样例输入 Copy

20

样例输出 Copy

6765
递归调用了13529次
#include<iostream>
using namespace std;
int fib(int k,int *p);

int main(void)
{
    int n;
    cin >> n;
    int a = 0;
    cout << fib(n,&a) << endl;
    cout << "递归调用了" << a << "次" <<endl;
   
    return 0;
}

int fib(int k,int *p)
{
    if (k == 1 || k == 2)
    {
        (* p)++;
        return 1;
    }
    else
    {
        (*p)++;
        return fib(k - 1, p) + fib(k - 2, p);
       
    }
}

相关文章:

  • 安全的 PHP 注销脚本
  • 小学生python编程----学爬虫
  • 如何用一个简单的内容升级心理学技巧将转化率提高了845%
  • 【LeetCode】Day126-正则表达式匹配
  • 09-排序2 Insert or Merge(浙大数据结构)
  • DPDK18.08上对VIRTIO IN ORDER 功能所做的优化
  • java毕业设计软件S2SH人力资源管理系统|人事薪资招聘oa人力请假考勤工资[包运行成功]
  • 关于C/C++中const关键字作用的一些想法
  • STC15单片机-通过PWM调整灯亮度
  • 9.3DDD之集成事件
  • 抖音获取商品原数据API接口展示
  • C++ 删除链表的倒数第N个结点
  • Pinia的使用
  • java — 认识String类的常用方法(上)
  • 高速专线不打烊 DPDK Hotplug助你实现设备动态管理
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 03Go 类型总结
  • canvas 高仿 Apple Watch 表盘
  • ES6语法详解(一)
  • go语言学习初探(一)
  • iOS 系统授权开发
  • Javascript 原型链
  • Java基本数据类型之Number
  • Ruby 2.x 源代码分析:扩展 概述
  • vue自定义指令实现v-tap插件
  • 创建一种深思熟虑的文化
  • 大型网站性能监测、分析与优化常见问题QA
  • 仿天猫超市收藏抛物线动画工具库
  • 如何用vue打造一个移动端音乐播放器
  • 我的zsh配置, 2019最新方案
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • # 安徽锐锋科技IDMS系统简介
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • (第二周)效能测试
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (四)Linux Shell编程——输入输出重定向
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)scrum常见工具列表
  • (转)菜鸟学数据库(三)——存储过程
  • (转载)深入super,看Python如何解决钻石继承难题
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net下的富文本编辑器FCKeditor的配置方法
  • @html.ActionLink的几种参数格式
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!