题目:一只小蜜蜂

递归做法:

#include<cstdio>
#include<iostream>
#include<stdlib.h>
#include<stack>
#include<string>
using namespace std;
int cnt=0;//count
int a,b;
//int flag=0;
int tran[3]={1,2};//坐标移动
void done(int x)
{int begin=0,bet=0;begin=x;if(begin>b)return ;//越界if(begin==b){//cout<<"1"<<endl;cnt++;return ;}//到达终点else{for(int i=0;i<2;i++){bet=begin+tran[i];//移动位置done(bet);//cout<<"2"<<endl;}}return ;
}
int main()
{int n;int i,j;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d%d",&a,&b);done(a);printf("%d\n",cnt);cnt=0;flag=0;}return 0;
}

一题递归类型的题目,比较简单。我犯了两个粗心的错误,一个是终点判断使用了a,还有一个是main函数里面的输入格式写错了...也感谢兴桔的讲解。
贴上兴桔ppt的一部分,和函数递归的模板和深度优先搜索有关系。

这题是规律题,用平常的递归会T,规律能看出符合斐波那契数列,所以这里给出它的做法。

#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{  long long int f[55];  f[1]=1;  f[2]=2;  for(int i=3;i<55;i++)  {  f[i]=f[i-1]+f[i-2];  }  int t;  scanf("%d",&t);  while(t--)  {  int n,m;  scanf("%d%d",&n,&m);  printf("%lld\n",f[m-n]);  }
}  

参考博客:杭电2044一只小蜜蜂

博主的公告也很有意思:“屌丝分为两种,一种是没有梦想,浑噩一生的屌丝,另一种是怀揣着梦想,奋斗一生的屌丝。”


题目:母牛的故事
代码:

#include<cstdio>
#include<iostream>
#include<stdlib.h>
using namespace std;
int done(int x)
{int c;if(x<=3) c=x;else c=done(x-1)+done(x-3);return c;
}
int main()
{int n;int tot=0;while(scanf("%d",&n)!=EOF){if(n==0)break;tot=done(n);printf("%d\n",tot);tot=0;}return 0;
}

解释一下递归的语句:

int done(int x)
{int c;if(x<=3) c=x;else c=done(x-1)+done(x-3);return c;
}

从第n年开始往回找到第一年,前3年牛的数目是按+1的规律来递增的,当年数大于3的时候,母牛的数目等于去年的母牛数目+今年生产的母牛数,今年生产的母牛数由题意(小牛过三年能生育)等于三年前的总牛数,过了三年以后当时的牛都能生。

转载于:https://www.cnblogs.com/qq952693358/p/5296364.html

函数递归简单题-hdoj-2044 2018-一只小蜜蜂 母牛的故事相关推荐

  1. c语言字符串递归例子,c语言函数递归(简单的递归例子c语言)

    若在main函数中调用hanoi(3,'A','B','c')运行结果 void move(char getone,char . 分成三组: (一), 目的:将1号和2号从A移到B 调用函数:hano ...

  2. python函数的递归小兔子_python中函数递归

    函数递归简单的来说就是函数自己调用自己,实现和循环类似的效果,通过return关键字来实现自己调用自己. 一个简单的循环例子,1~100的累加,这可能是很多人学习循环编写的第一个程序,用循环和递归分别 ...

  3. P6222 「P6156 简单题」(反演 + 积性函数线性筛)

    P6156 简单题 推式子 ∑i=1n∑j=1n(i+j)kf(gcd(i,j))gcd(i,j)=∑i=1n∑j=1n(i+j)kμ2(gcd(i,j))gcd(i,j)=∑d=1nμ2(d)dk+ ...

  4. python装饰器模式带参数_Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列)...

    Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列) 一丶带参数的装饰器 def wrapper_out(pt): def wrapper(func): ...

  5. 对于C语言函数递归的简单理解(新手入门必看!!!)

    什么是函数递归? 程序调用自身的编程技巧称为递归(recursion). 递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接 调用自身的 一种方法,它通常把一个大型 ...

  6. 【17】C语言 | 函数递归题

    目录 函数递归:就是函数自己调用自己 下面我们通过几个例子了解一下函数递归 1 [下面代码输出什么?] 2[数9的个数] 3 [分数求和] 4 [求10个整数中最大值] 5 [屏幕上输出乘法口诀表] ...

  7. python基础-基础知识(包括:函数递归等知识)

    老男孩 Python 基础知识练习(三) 1.列举布尔值为 False 的值 空,None,0, False, ", [], {}, () 2.写函数: 根据范围获取其中 3 和 7 整除的 ...

  8. 【C语言】剖析函数递归(3)

    ©作者:凡人编程传 ©系列:C语言初阶(适合小白入门) ©说明:以凡人之笔墨,书写未来之大梦 文章目录 ₪前言 ₪求一个数的阶乘(递归实现) ₪求斐波那契数列的第n项 ₪结言 ₪前言 这一节,咱们把递 ...

  9. 自用力扣笔记备忘录——数组tag简单题

    想来想去还是决定写在csdn,本地的移动性不太好 此备忘录自用为住,方便本人复习用的 方法1为本人自己写的,其他的均有参考 目录若无方法一只有方法二,则是没写出来: 如果没有方法N小标题说明这个题官方 ...

最新文章

  1. Spring中复杂类型注入
  2. 51 nod 1521 一维战舰 时间复杂度O(n),同 Codeforces 567D. One-Dimensional Battle Ships 有详细注释
  3. 【彩彩只能变身队】后端工作总结
  4. php datetime 对象,PHP DateTime 对象和 Date 函数的 Demo
  5. [css] css中class和id选择器有什么区别?
  6. Log4j的使用说明
  7. 写在WinHEC开幕之际:沿着Windows我们一路走来
  8. oracle停数据库服务器,优化Oracle停机时间及数据库恢复
  9. Visual studio 代码管理工具Git
  10. 测验8: 程序设计方法学 (第8周)(编程题)
  11. Visual Studio + VAssistX常用快捷键收藏
  12. 问题处理——无法导航到插入符号下的符号
  13. OEM、ODM与OBM的区别
  14. 置换贴图,法线贴图,凹凸贴图的区别
  15. 电商行业特点以及理解电商的模式
  16. Linux:Lilo 设定档 /etc/lilo.conf
  17. pip安装遇到警告which is not on PATH 不修改site.py也可解决
  18. 用C#编程删除系统自带游戏
  19. 星环科技将上市:募资近20亿 成国产大数据基础软件第一股
  20. 厨房设计大师——整体厨房设计CAD图纸

热门文章

  1. 危机时保路人还是保乘客?无人车伦理困境背后:谁来制定算法规则
  2. 关于y7000安装Ubuntu的一些心得体会
  3. openlayer右键菜单_使用OpenLayers3 添加地图鼠标右键菜单
  4. linux源码编译安装lamp环境搭建,linux下源码包编译安装LAMP环境
  5. matlab中simple是什么函数,[求助]Matlab2016b里没有simple函数
  6. ios vue 添加本地音乐_Vue 项目一些常见问题的解决方案
  7. 072_Math对象
  8. java如何保证redis设置过期时间的原子性_redis专题系列22 -- 如何优雅的基于redis实现分布式锁
  9. 虚拟机linux系统王及密码的破解方式——重设root密码
  10. python b站 礼物_[我叫以赏]Python获取B站UP主粉丝数