蓝桥杯历年预赛习题
標題:啤酒和飲料
? ? 啤酒每罐2.3元,飲料每罐1.9元。小明買了若干啤酒和飲料,一共花了82.3元。
標題:李白打酒
? ? 話說大詩人李白,一生好飲。幸好他從不開車。
? ? 一天,他提著酒壺,從家里出來,酒壺中有酒2斗。他邊走邊唱:
? ? 無事街上走,提壺去打酒。
? ? 逢店加一倍,遇花喝一斗。
? ? 這一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。?
? ? 請你計算李白遇到店和花的次序,可以把遇店記為a,遇花記為b。則:babaabbabbabbbb 就是合理的次序。像這樣的答案一共有多少呢?請你計算出所有可能方案的個數(包含題目給出的)。
答案:14
? ? 啤酒每罐2.3元,飲料每罐1.9元。小明買了若干啤酒和飲料,一共花了82.3元。
? ? 我們還知道他買的啤酒比飲料的數量少,請你計算他買了幾罐啤酒。
? ? 不要書寫任何多余的內容(例如:寫了飲料的數量,添加說明文字等)。
#include <stdio.h>int main(){float pBer = 2.3, pDrink = 1.9, total = 82.3; int i, j;for(i = 1; i <= total / pDrink; i++){for(j = 1; j <= i - 1; j++){if( i * pDrink + j * pBer == total ){printf("%d", j);}}}return 0; } 答案:11
標題:切面條
? ? 一根高筋拉面,中間切一刀,可以得到2根面條。
? ? 如果先對折1次,中間切一刀,可以得到3根面條。
? ? 如果連續對折2次,中間切一刀,可以得到5根面條。
? ? 那么,連續對折10次,中間切一刀,會得到多少面條呢?
? ?答案是個整數,請通過瀏覽器提交答案。不要填寫任何多余的內容。
? ?分析圖:
#include <stdio.h> #include <math.h>int main(){int t1 = 1, t2 = 0, t3 = 1;int i;for(i = 1; i <= 10; i++){t2 += t3;t3 = t1;t1 = (int)pow(2, i - 1); }printf("%d", t1 + t2 + t3);return 0; } 答案:1025
標題:李白打酒
? ? 話說大詩人李白,一生好飲。幸好他從不開車。
? ? 一天,他提著酒壺,從家里出來,酒壺中有酒2斗。他邊走邊唱:
? ? 無事街上走,提壺去打酒。
? ? 逢店加一倍,遇花喝一斗。
? ? 這一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。?
? ? 請你計算李白遇到店和花的次序,可以把遇店記為a,遇花記為b。則:babaabbabbabbbb 就是合理的次序。像這樣的答案一共有多少呢?請你計算出所有可能方案的個數(包含題目給出的)。
? ? 注意:通過瀏覽器提交答案。答案是個整數。不要書寫任何多余的內容。
#include <stdio.h> #include <math.h>//因為店5個,花10個,所以設店為1,花為0 (這樣數值會小) int main(){int overplus, store, flower, sum = 0;int i, j, tmp;//遍歷所有值,最大值為5個1,10個0,因為最后一個是0確定了,所以就是9個0 // 最小值為前面9個0,后面5個1 for( i = (int)pow(2, 5) - 1; i <= ((int)pow(2, 5) - 1) * (int)pow(2, 9); i++){ overplus = 2;store = flower = 0;tmp = i;for(j = 0; j < 14; j++){//因為只有14位,所以遍歷14次,用于取數if( overplus <= 0 ) break;//取高位 if( (tmp & 0x2000) == 0 ){//花 overplus --;flower ++; }else{//店 overplus *= 2;store ++;}tmp = tmp << 1;}if( overplus == 1 && store == 5 && flower == 9 ){sum++;}}printf("%d", sum);return 0;答案:14
博客名稱:王樂平博客
博客地址:http://blog.lepingde.com
CSDN博客地址:http://blog.csdn.net/lecepin
總結
- 上一篇: linux操作命令等积累
- 下一篇: 【量子信息与量子计算简明教程|陈汉武】阅