C語言遞迴李白打酒

2021-08-05 19:16:28 字數 1030 閱讀 6547

題目描述:

話說大詩人李白,一生好飲。幸好他從不開車。 

一天,他提著酒壺,從家裡出來,酒壺中有酒2鬥。他邊走邊唱:

無事街上走,提壺去打酒。 

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

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

請你計算李白遇到店和花的次序,可以把遇店記為a,遇花記為b。則:babaabbabbabbbb 就是合理的次序。像這樣的答案一共有多少呢?請你計算出所有可能方案的個數(包含題目給出的)。

#include int count = 0;  

void libai(int store, int flower,int alco, int pre, char *ch, int index)

printf("\n");

count++;

} return;

} if(store > 0)

if(flower > 0)

}

void libai2(int alco, int store, int flower, char *ch, int index)

if(store == 5 && flower ==9)

printf("\n");

count++;

} return;

} ch[index] = 'a';

libai2(alco * 2, store + 1, flower, ch, index + 1);

ch[index] = 'b';

libai2(alco - 1, store, flower + 1, ch, index + 1);

}

int main()

本題就是乙個不斷遞迴的函式,假定先遇到店,然後遞迴計算直到滿足打酒喝酒的條件就將計算符+1;再假定先遇到花,然後遞迴計算剩下的可能。遇到滿足要求的組合就加1。

李白打酒(C語言)

話說大詩人李白,一生好飲。幸好他從不開車。一天,他提著酒壺,從家裡出來,酒壺中有酒 2 鬥。他邊走邊唱 無事街上走,提壺去打酒。逢店加一倍,遇花喝一斗。這一路上,他一共遇到店 5 次,遇到花 10 次,已知最後一次遇到的是花,他正好 把酒喝光了。請你計算李白遇到店和花的次序,可以把遇店記為 a,遇花...

C語言遞迴呼叫1 李白打酒

題目描述 話說大詩人李白,一生好飲。幸好他從不開車。一天,他提著酒壺,從家裡出來,酒壺中有酒2鬥。他邊走邊唱 無事街上走,提壺去打酒。逢店加一倍,遇花喝一斗。這一路上,他一共遇到店5次,遇到花10次,已知最後一次遇到的是花,他正好把酒喝光了。請你計算李白遇到店和花的次序,可以把遇店記為a,遇花記為b...

李白打酒 C

話說大詩人李白,一生好飲。幸好他從不開車。一天,他提著酒壺,從家裡出來,酒壺中有酒2鬥。他邊走邊唱 無事街上走,提壺去打酒。逢店加一倍,遇花喝一斗。這一路上,他一共遇到店5次,遇到花10次,已知最後一次遇到的是花,他正好把酒喝光了。請你計算李白遇到店和花的次序,可以把遇店記為a,遇花記為b。則 ba...