資源描述:
《2011藍橋杯決賽題附答案.doc》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、2011年暑假藍橋杯決賽題附答案1.四方定理數論中有著名的四方定理:所有自然數至多只要用四個數的平方和就可以表示。我們可以通過計算機驗證其在有限范圍的正確性。對于大數,簡單的循環(huán)嵌套是不適宜的。下面的代碼給出了一種分解方案。請仔細閱讀,填寫空缺的代碼(下劃線部分)。注意:請把填空的答案(僅填空處的答案,不包括題面)存入考生文件夾下對應題號的“解答.txt”中即可。直接寫在題面中不能得分。intf(intn,inta[],intidx){if(______________)return1;//填空1i
2、f(idx==4)return0;for(inti=(int)sqrt(n);i>=1;i--){a[idx]=i;if(_______________________)return1;//填空2}return0;}intmain(intargc,char*argv[]){for(;;){intnumber;printf("輸入整數(1~10億):");scanf("%d",&number);inta[]={0,0,0,0};intr=f(number,a,0);printf("%d:%d%d%d%
3、d",r,a[0],a[1],a[2],a[3]);}return0;}1.加密在對文本進行簡單加密的時候,可以選擇用一個n位的二進制數,對原文進行異或運算。解密的方法就是再執(zhí)行一次同樣的操作。加密過程中n位二進制數會循環(huán)使用。并且其長度也可能不是8的整數倍。下面的代碼演示了如何實現該功能。請仔細閱讀,填寫空缺的代碼(下劃線部分)。注意:請把填空的答案(僅填空處的答案,不包括題面)存入考生文件夾下對應題號的“解答.txt”中即可。直接寫在題面中不能得分。voidf(char*buf,unsign
4、edchar*uckey,intn){inti;for(i=0;i5、np);//密匙串需要按位的形式循環(huán)拼入uckey中inti;for(i=0;i6、;}1.公倍數為什么1小時有60分鐘,而不是100分鐘呢?這是歷史上的習慣導致。但也并非純粹的偶然:60是個優(yōu)秀的數字,它的因子比較多。事實上,它是1至6的每個數字的倍數。即1,2,3,4,5,6都是可以除盡60。我們希望尋找到能除盡1至n的的每個數字的最小整數。不要小看這個數字,它可能十分大,比如n=100,則該數為:69720375229712477164533808935312303556800請編寫程序,實現對用戶輸入的n(n<100)求出1~n的最小公倍數。例如:用戶輸入:6程序輸出:60
7、用戶輸入:10程序輸出:2520要求考生把所有函數寫在一個文件中。調試好后,存入與考生文件夾下對應題號的“解答.txt”中即可。相關的工程文件不要拷入。對于編程題目,要求選手給出的解答完全符合ANSIC標準,不能使用c++特性;不能使用諸如繪圖、中斷調用等硬件相關或操作系統(tǒng)相關的API。1.地鐵換乘為解決交通難題,某城市修建了若干條交錯的地鐵線路,線路名及其所屬站名如stations.txt所示。線1蘋果園....四惠東線2西直門車公莊....建國門線4....其中第一行數據為地鐵線名,接下來是該線
8、的站名。當遇到空行時,本線路站名結束。下一行開始又是一條新線....直到數據結束。如果多條線擁有同一個站名,表明:這些線間可以在該站換車。為引導旅客合理利用線路資源,解決交通瓶頸問題,該城市制定了票價策略:1.每條線路可以單獨購票,票價不等。2.允許購買某些兩條可換乘的線路的聯票。聯票價格低于分別購票。單線票價和聯合票價如price.txt所示。線1180.....線13114線1,線2350線1,線10390.....每行數據表示一種票價線名與票價間用空格分開。如果