李白打酒递归java_李白打酒递归
(转 过段时间看看)标题:李白打酒
话说大诗人李白,一生好饮。幸好他从不开车。
一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:
无事街上走,提壶去打酒。
逢店加一倍,遇花喝一斗。
这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。
请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。
则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?
这个是我的代码为什么是错的啊!!!!
#include
using namespace std;
char a[17];
int n = 0;
int dajiu(int sum,int num,int dian,int hua)
{
int i;
if(sum < 0 || num > 15 || (sum == 0 && num < 16))
return 0;
if(sum == 0)
{
if(num == 16 && hua == 10 && dian == 5)
{
n++;
for(i = 1;i < 16;i++)
cout<
cout<
}
a[num] = 'a';
dajiu(sum * 2,num + 1,dian + 1,hua);
a[num] = 'b';
dajiu(sum - 1,num + 1,dian,hua + 1);
}
}
int main()
{
a[16] = '\0';
dajiu(2, 1, 0, 0);
cout<
return 0;
}
这个递归代码是对的答案也是对的。
#include
#include
using namespace std;
int sum = 0;
char str[100];
int Fun(int now, int i, int a, int b)
{
if(now < 0 || i > 16 || (now == 0 && i < 16))
return 0;
if(now == 0)
{
if(i == 16 && a == 5 && b == 10)
{
sum++;
for(int j = 0; j < 15; j++)
cout<
cout<
}
}
str[i - 1] = 'a';
Fun(now * 2, i + 1, a + 1, b);
str[i - 1] = 'b';
Fun(now - 1, i + 1, a, b + 1);
}
int main()
{
str[15] = '\0';
Fun(2, 1, 0, 0);
printf("sum = %d\n", sum);
return 0;
}
李白打酒递归java_李白打酒递归相关推荐
- 递归Java_递归的Java实现
递归是一种应用非常广泛的算法(或者编程技巧).递归求解问题的分解过程,去的过程叫"递",回来的过程叫"归". 递归需要满足的三个条件:1. 一个问题的解可以分解 ...
- 二叉树 递归 java_递归实现二叉树 JAVA
今天顶着要交年终文档的压力,总算理清了递归方式实现二叉树的方法,彻底弄明白要如何建一颗二叉树了!终于了切了一桩心愿!苦苦思索近两个星期了,郁闷得快不行了.终于一见庐山真面目,真是凡事一定要坚持到底呀! ...
- 规范化的递归转换成非递归
递归函数被调用时,系统需要一个运行栈.系统的运行栈要保存函数的返回地址,保存调用函数的局部变量,每一层递归调用所需保存的信息构成运行栈的一个工作记录,在没进入下一层递归调用是,系统就会建立一个新的工作 ...
- (数据结构与算法)递归及一些经典递归问题
文章目录 1. 递归的概念 2. 递归的调用机制 3. 递归需要遵守的重要规则 4. 递归 - 迷宫问题 5. 递归-八皇后问题 1. 递归的概念 递归就是方法自己调用自己,每次调用时传入不同的变量. ...
- 算法练习day10——190328(二叉树的先序、 中序、 后序遍历, 包括递归方式和非递归方式、找到一个节点的后继节点、二叉树的序列化和反序列化)
1.实现二叉树的先序. 中序. 后序遍历, 包括递归方式和非递归方式 1.1 访问节点的顺序 节点访问顺序如下图所示: 访问顺序:1 2 4 4 4 2 5 5 5 2 1 3 6 6 6 3 7 7 ...
- 牛客网递归错题:递归、欧几里得求最大公约数的时间复杂度、线性递归与尾递归实例区别
很久找不到学习的平衡点,似乎有目的性的去解决问题寻求方法获得知识会比直接吸取知识要有趣,更印象深刻,这些都是我爬过的坑,以此铭记在心. 1. 队列在程序调用时必不可少,因此递归离不开队列.× 递归是栈 ...
- java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)
JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...
- 递归函数就兔子数C语言,【C语言】求斐波那契(Fibonacci)数列通项(递归法、非递归法)...
意大利的数学家列昂那多·斐波那契在1202年研究兔子产崽问题时发现了此数列.设一对大兔子每月生一对小兔子,每对新生兔在出生一个月后又下崽,假若兔子都不死亡.问:一对兔子,一年能繁殖成多少对兔子?题中本 ...
- 二叉树先中后序递归遍历与非递归遍历、层次遍历
文章目录 1 先序遍历 1.1 先序遍历递归 1.2 先序遍历非递归 2 中序遍历 2.1 中序遍历递归 2.2 中序遍历非递归 3 后序遍历 3.1 后序遍历递归 3.2 后序遍历非递归 4 层序遍 ...
- 递归转化成非递归过程_8086微处理器中的递归和重入过程
递归转化成非递归过程 As we all know that a procedure is a set of instruction written separately which can be u ...
最新文章
- springboot:实现分页查询,以及翻页功能
- 论:CMMI项目集成管理(IPM)
- android调试是出现:Re-installation failed due to different application signatures
- c 语言简单的聊天程序,写一个C-S程序,实现简单的聊天功能。(tcp/ip)
- java8的函数指针
- C++ 模板全特化中的函数特化
- 路径规划算法_自动驾驶汽车路径规划算法浅析
- java用内部类实现多重继承
- JSON数据、字符串拼接、宽字符处理、数组、Notice警告、isset和empty、变量、作用域、常量、include和require
- VBA学习过程中遇到的问题(主要针对Excel)
- InnoDB存储引擎
- 我的世界联机被拒绝可能原因
- 【第十篇】单点登录原理和JWT实现
- HTML表格实现固定表头 内容滚动
- 第三方登录 人人php,php 使用curl模拟登录人人(校内)网的简单实例
- 汽车辅助驾驶系统中的图像处理算法
- java线程锁死是什么
- confluence
- java查询学号数据库_数据库SQL查询语句练习题 PDF 下载
- 丑数 uva-136 丑数