李洋疯狂C语言之用递归解决李白喝酒问题(附填空题解法)

这是14年蓝桥杯的一道填空题
题目:“李白街上走,提壶去买酒,遇店加一倍,见花喝一斗”,
途中,遇见5次店,见了10此花,壶中原有2斗酒,最后刚好喝
完酒,要求最后遇见的是花,求可能的情况有多少种?

/*
原理:起点位置店和花都为0,酒为2。遇到一次店,酒*2。遇
到一次花,酒-1,当5次店和9次花都遇完,酒为1。递归终止条
件为:店和花超过题中所给或满足题目要求。
*/#include <stdio.h>int count = 0;void fun(int store, int flower, int alco)
{//先确定递归终止条件if (5 < store || 10 < flower)       {return ;}if (5 == store && 9 == flower){if (1 == alco){count++;}return ;}//终止条件结束fun(store + 1, flower, alco * 2);fun(store, flower + 1, alco - 1);   
}int main()
{fun(0, 0, 2);           //初始情况:酒为2,其余为0printf ("共有 %d 种可能\n", count);return 0;
}

既然这题是填空题,那有没有直接点的办法?
当然有,用排列组合来求:
要求最后一次是花,那倒数第二次肯定也是花不然酒不可能变成1。那第13次结束酒应该有2。也就是说前13次里遇到了5次店和8次花,
酒从开始的2到最后的2,总共加了8又喝掉了8,5次加酒共加了8,8 = 1+1+2+2+2。即总共有C(5,2)=10种可能,
然而还少了加3的情况,即8 = 1+2+3+1+1,而加3只可能出现在酒从4喝到3再遇到店的时候,所以加3只可能出现在加2之后,
2和3是绑定的,有C(4,1)= 4种,所以总共有 C(5,2)+C(4,1)=14种情况。(文字叙述起来有点繁琐)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

coco creator编辑动画坑之拖图片

如图所示&#xff0c;批量选中多张图片之后&#xff0c;拖到右下角的框中&#xff0c;发现有时候可以有时候不行。这个我觉得是个软件的bug 后来经过测试发现只有在粉红色圈的高度才可以正确放入图片&#xff0c;否则都放不了。转载于:https://www.cnblogs.com/codeDevotee/p/1…

Spring MVC常用注解说明

2019独角兽企业重金招聘Python工程师标准>>> 使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能。02 之前在使用Struts2实现MVC的注解时&#xff0c;是借助struts2-convention这个插件&#xff0c;如今我们使用Spring自带的spring-webmvc组件来实现同…

Ubuntu12.10中安装ati显卡驱动amd driver 13.1

1. 先安装依赖库 [plain] view plaincopyprint?sudo apt-get install build-essential cdbs dh-make dkms execstack dh-modaliases fakeroot libqtgui4 debhelper debconf libstdc6 dkms libqtgui4 libelfg0 linux-headers-generic 2. 如果是64位系统&#xff0c;需要安装3…

李洋疯狂C语言之用递归解决李白喝酒问题(二)

之前用递归求出了多少种情况&#xff0c;如果要打印出所有的结果&#xff0c;就需要一个数组来存放可能的情况&#xff1a; /****************************************************** 题目&#xff1a;“李白街上走&#xff0c;提壶去买酒&#xff0c;遇店加一倍&#xff0c;…

vue.js 三种方式安装 ( vue-cli ) 、安装详解、创建项目

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Vue.js&#xff08;读音 /vjuː/, 类似于 view&#xff09;是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单…

C学习笔记:基础

C 语言是一种面向过程的高级语言。 运行速度与汇编语言编写的代码运行速度几乎一样。C 语言的源码文件扩展名为 .c 例如 hello.c 。 概述 C 语言有三套标准分别是 C89 C99 C11&#xff0c;目前最常用的是 C99 标准。 C 编译器&#xff0c;写在源文件中的源代码需要编译&#xf…

spring-boot

1,创建springboot 工程 2.导入你所需要的包, (这篇只是简单介绍一下,没导入太过复杂的包)Developer tools Sprig Boot DevTools LombokWed Spring Wed Starter 转载于:https://www.cnblogs.com/lxx-1843693653/p/11104622.html

李洋疯狂C语言之合法帧

题目: 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来. 提示:帧头和帧尾分别是head和tail 字符串”asdheadhauboisoktail”中headhauboisoktail是合法帧 #include <stdio.h> #include <string.h> #include <stdlib.h>ch…

vuex 最简单、最详细的入门文档

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 如果你在使用 vue.js , 那么我想你可能会对 vue 组件之间的通信感到崩溃 。 我在使用基于 vue.js 2.0 的UI框架 ElementUI 开发网站的时…

科目三路考操作要点

一踏&#xff08;离合器&#xff09;二挂&#xff08;挡&#xff09;三拨&#xff08;左转向灯&#xff09;四看&#xff08;左右镜及侧头观察周边情况&#xff09;五按&#xff08;喇叭&#xff09;六松&#xff08;闸&#xff0c;即手制动&#xff09; 在科目三考试途中的注…

10种顶级javascript框架比较-The Top 10 Javascript MVC Frameworks

转载于&#xff1a;http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/ Gordon L. Hempton是西雅图的一位黑客和设计师&#xff0c;他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架&#xff0c;并在博客中总结了每种框架的优缺点&am…

数据结构之顺序表(一)

有关顺序表&#xff0c;由于代码太长&#xff0c;我将分成2部分&#xff0c;这边是头文件SeqList.h和主函数&#xff1a; #ifndef __SEQLIST_H__ #define __SEQLIST_H__#define FALSE -1 #define TRUE 0#define INIT_SIZE 100 #define INCRESS_SIZE 20typedef int Seq…

centos7 安装 node.js 运行环境、卸载

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一.安装 1.进入官网下载最新版本 https://nodejs.org/en/ 选择下载后上传或直接使用wget下载 wget https://nodejs.org/dist/v8.11.…

白云山脚下的廉价菜-饮胜酒家

亚运将至&#xff0c;我们已经渐渐感受到那种气氛了&#xff0c;最明显就是搭公交车不用钱&#xff0c;我可以不再做那辆兜路的54路车&#xff0c;每天可以睡多10分钟&#xff0c;然后从家楼下转3趟车上班&#xff0c;重要部部都有位置坐&#xff0c;每天在路上都看到有好多好多…

科目三考试指南

正在准备科目三的您&#xff0c;对顺利通过考试有信心吗&#xff1f;今天&#xff0c;小编为大家带来科目三靠边停车技巧&#xff0c;通过讲解靠边停车考试要求&#xff0c;让学员更好地掌握相关技巧&#xff0c;希望能帮到大家。 靠边停车考试项目中规定&#xff0c;车前保险杠…

docker学习4-docker安装mysql环境

前言 docker安装mysql环境非常方便&#xff0c;简单的几步操作就可以了 拉取mysql镜像 先拉取mysql的镜像&#xff0c;可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docker.com/_/mysql?tabtags 我这里选择mysql:5.7标签 [rootyoyo ~]# docker pull mysql:5.7 5.7…

数据结构之顺序表(二)

这是接着之前的剩下来的部分&#xff1a; #include <stdlib.h> #include "SeqList.h" #include <stdio.h>SeqList *Create_List() {//创建一个顺序表SeqList* s (SeqList*)malloc(sizeof(SeqList)/sizeof(char));if (NULL s){return NULL;}//初始化顺…

Dynamics CRM 2015 站点地图公告配置实体显示名称的变更

CRM更新2015后&#xff0c;在设置里找不到公告配置了 在原来的位置上你会东西一个叫活动源配置的东西&#xff0c;点开看后就是原来的公告配置。 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 转载于:https://www.cnblogs.com/VicTang/p/4799531…

解决:liunx 光标消失(显示光标)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 2个命令可以管控光标&#xff1a; 隐藏光标 &#xff1a; echo -e "\033[?25l" 显示光标 &#xff1a; echo -e "\0…

科​目​三​路​考​操​作​步​骤

科目三路考操作步骤 一、起步前五大操作顺序&#xff1a; 1.检查手制动是否拉紧 2.踩下离合器踏板&#xff0c;挂空挡 3.开汽车电源 4.轻踩油门&#xff08;电喷车不需要&#xff09;&#xff0c;接通马达 5.发动后&#xff0c;手马上离开 二、起步顺序6个步骤&…