蓝桥杯备赛笔记-规律题
????? 藍橋杯的考察點每年都會考三類題型,第一種是規律題,典型特征是給出一個變化情況,讓你來找出其中的規律,并且根據這個規律開回答它的問題。第二種是考察對于暴力求解的方法的理解與使用情況。第三種也是最難的一種,對于遞歸類問題的理解,如果要解決這類的問題,需要理解8皇后算法和漢諾塔等諸如此類的問題才行,今天總結的是找規律的問題
例如第七屆的第一題,煤球數。題干如下:有一堆煤球,堆成三角棱錐形。具體:
第一層放1個,
第二層3個(排列成三角形),
第三層6個(排列成三角形),
第四層10個(排列成三角形),
....
如果一共有100層,共有多少個煤球?
要解決這類的問題,關鍵是要找準這里面有多少個變量,以及這些變量與最終求解的結果間的關系。
經過觀察發現,這里面一共有四個變量,第一個是層號,第二個是每層的數量,第三個是總的數量。各個變量之間的關系為總的數量為各層的煤球數累加,每層的煤球數為上一層的球數加上這一層的層號,于是可以判斷,至少需要三個變量,分別代表:層號、每層的煤球數、煤球總數。解題的思路為:定義一個100次的循環,每次循環的時候,層序號加一,有這一層的序號以后,就可以計算出這一層的球數,從而計算出總的煤球數:代碼如下:
package hoLidayPraRewie; /** @author理工吳彥祖* @Info在校大學生,歡迎交流Q2904792453,妹子優先*/ public class CountOfBru {//總數public static int total=0;//每一層的煤球數public static int countOfFloor=0;public static void main(String args[]){//i為遞增的層號for(int i=1;i<=100;i++){//先算出這層的煤球數countOfFloor+=i;//將這層的煤球數累加到總的煤球數上total+=countOfFloor;}System.out.println(total);} } /** 最終結果:171700*/同一類型的問題還會與窮舉算法一起考察。如出現在了第六屆的比賽中的這道題:
生日蠟燭
某君從某年開始每年都舉辦一次生日party,并且每次都要吹熄與年齡相同根數的蠟燭,
現在算起來,他一共吹熄了236根蠟燭。
請問,他從多少歲開始過生日party的?
仔細觀察這道題發現,一共有兩個變量,第一個變量是歲數,即每年的蠟燭數,他的特點是逐年遞增。第二個變量是總的蠟燭數,他的特點是總的蠟燭數是總的蠟燭數加上歲數。從不同的歲數開始過生日,依次出現的總的蠟燭數的情況是不一樣的,于是,可以窮舉出所有的歲數,如果從這個歲數開始過生日,如果總的蠟燭數會出現236,就將這個數字打印出來,代碼如下:
總結
以上是生活随笔為你收集整理的蓝桥杯备赛笔记-规律题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu1804 Devstack部
- 下一篇: 亚马逊