#include <bits/stdc++.h>
using namespace std;
int sum = 0;
void f(int dian, int hua, int jiu)
{
if(dian > 0)
f(dian-1, hua, jiu*2);
if(hua > 0)
f(dian, hua-1, jiu-1);
if(dian==0 && hua==0 && jiu==1) //jiu==1,由于最后一次是遇花,还未减去1,此时判断的结果刚好是李白喝完酒了
sum += 1;
}
int main()
{
f(5, 9, 2);//由于最后一次是遇花,不用考虑在内,否则要排除不是遇花的情况,10-1)
cout <<sum << endl;
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:672 |
这可能是一个假的冒泡法浏览:1071 |
数组输出 (C语言代码)错误???浏览:602 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:1001 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:368 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:597 |
愚蠢的摄影师 (C++代码)浏览:980 |
用筛法求之N内的素数。 (C语言代码)浏览:595 |
Quadratic Equation (C语言代码)浏览:1034 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:465 |