李白饮酒

来源:互联网 发布:linux打开iso文件 编辑:程序博客网 时间:2024/04/28 12:28

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

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

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

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

   请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。


思路:设遇见花为0,遇见店为1 ,最后一次遇见花,酒正好喝光,所以之前他遇到9次花,遇到5次店。一共14次,从14次全部都遇见店直到14次全部遇见花,一共有2^14种情况。

#include<stdio.h>#include<math.h>//设遇见花为0,遇见店为1 int main(){int num,temp;int wine;int shop,flower;int i,j;int count=0;for(num=0;num<pow(2,14);num++){wine=2;flower=0;shop=0;temp=num;for(i=0;i<14;i++){if(temp%2)   //遇见店 {wine*=2;shop++;}else        //遇见花 {wine--;flower++;}temp/=2;}if(wine==1 && flower==9 && shop==5)count++;}printf("%d\n",count);return 0; } 

原创粉丝点击