首页 > 编程语言 >C语言递归算法解决李白打酒问题

C语言递归算法解决李白打酒问题

时间:2022-11-28 22:02:37浏览次数:36  
标签:函数 递归 遇到 打酒 计算机科学 C语言 算法 李白

一、概念

递归算法(英语:recursion algorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。计算理论可以证明递归的作用可以完全取代循环,因此在很多函数编程语言中习惯用递归来实现循环。


二、分析

递归算法很重要,但也难以想到,通常运用在自定义函数中的递归,因此需要多加练习!


三、题目

话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:

    无事街上走,提壶去打酒。

    逢店加一倍,遇花喝一斗。

    这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。

请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb就是合理的次序。

像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)

四、解答

C语言递归算法解决李白打酒问题_递归算法


TIP:

return 在 void 函数里面的作用就是跳出当前函数,执行函数的下一条语句!


标签:函数,递归,遇到,打酒,计算机科学,C语言,算法,李白
From: https://blog.51cto.com/u_15740457/5893744

相关文章

  • 用c语言求出p=n!/(n-m)!
    #include<stdio.h>intmain(){ intm,n,P; intf(intx);     /*声明函数*/  printf("请输入mandn的值!\n");  scanf("%d%d",&m,&n); P=f(n)/f(n-m)......
  • C语言结构体对齐
    结构对齐规则结构体(struct)的数据成员,第一个数据成员存放的地址为结构体变量偏移量(offset)为0的地址处。结构体成员自身对齐时,存放的地址为有效对齐值=min{自身对......
  • C语言——操作符
    1.算术操作符: + - * / % 注意:%前后两个数都要是整形2.移位操作符: >>右移操作符。{2.1算术右移:右边丢弃,左边补符号位。2.2逻辑右移:右边丢弃,左边补0.}<<左移操作......
  • 【C语言】“HelloWorld” 程序
    C语言入门:“HelloWorld”程序:代码如下:#include<stdio.h>//用#include指令包含标准输入输出头文件:stdio.h。intmain(void)//main()函数是C程序的入口,在一个......
  • 【C语言】实现两个整数相加
    用C语言实现两个整数相加1.首先出于目的我们需要输入两个整数和输出两个整数相加的值,需要用到printf()函数所以需要引头文件stdio.h#include<stdio.h>2.声明两个整形......
  • Java实现递归查询树结构
        我们在实际开发中,肯定会用到树结构,如部门树、菜单树等等。Java后台利用递归思路进行构建树形结构数据,返回给前端,能以下拉菜单等形式进行展示。今天,咱们就来说......
  • 递归小笔记:
    @OverridepublicLong[]findCatelogPath(LongcatelogId){List<Long>paths=newArrayList<>();List<Long>parentPath=findParentPath(catelogId,paths);......
  • C语言中static
    static表示全局或静态意思;在函数体内,静态变量具有记忆功能,即在函数被调用过程中,一个被声明为静态变量的值维持不变;在模块内,但在函数体外,作用域范围是有限制的,static类型的......
  • java利用递归实现扫雷
    package扫雷;importjava.math.*;importjava.util.Scanner;publicclass扫雷{//记录翻开次数staticintk=0;//两个数组......
  • C语言实现用位移运算符进行加减乘…
    最近,在百度知道上回答问题,然后看见有的人问如何用位移运算符去进行加减乘除运算,于是巩固今天就在这总结一下。加法运算:将一个整数用二进制表示,其加法运算就是:相异(^)时,......