藍橋杯競賽題目:”機器人繁殖“解析及題解
標題:機器人繁殖
每年X星系都會選出1個新出生的機器人發往太空。也就是說,如果X星系原有機器人5個,
1年後總數是:5 + 9 = 14
2年後總數是:5 + 9 + 17 = 31
使用者輸入:
2 31
5
使用者輸入:
97 2218388550399401452619230609499
8
峰值記憶體消耗 < 512M
CPU消耗 < 1000ms
請嚴格按要求輸出,不要畫蛇添足地列印類似:“請您輸入...” 的多餘內容。
注意: 只使用ANSI C/ANSI C++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。
注意: 所有依賴的函式必須明確地在原始檔中 #include <xxx>, 不能透過工程設定而省略常用標頭檔案。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
這類演算法題目,看起來不難,但是實際程式設計時,會發現容易被卡住,有些地方跳不出去
那麼,接下來,我會為各位解釋這類題目的幾種演算法
第一種:找規律
其實規律不難找出
可以看出來,按照這個規律慢慢推算就可以得出答案
接下來把公式用程式碼寫出即可。
第二種:簡單粗暴法
因為題目給出的是,N年和S個機器人,求的是最初的機器人個數
而在C語言中,while()迴圈中,當括號裡面的數字為0時預設跳出迴圈
那麼就可以把1~n/2中間的數字都代進去試一遍,看看誰符合條件
為什麼是n/2呢,因為題目要求S要小於50位數,而直接代入n會導致數字太大
接下來就可以,用for迴圈逐個代入1~n然後用while來迴圈選出符合條件的數字,找到以後用break跳出。
第三種:遞迴法
思路同上,只不過程式碼更短更簡潔。
最後,其實演算法類的題目做起來很有意思,解題的過程會枯燥,會無趣,但是坐在那裡一個下午,一個晚上,一個週末解出題目後的快感,也是酣暢淋漓的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2643121/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 第九屆藍橋杯軟體類省賽 Java B組 題目及解析Java
- 藍橋杯歷年(省賽)試題彙總及試題詳解
- 【題目解析】藍橋杯23國賽C++中高階組 - 鬥魚養殖場C++
- 2012年 藍橋杯預賽 java 本科 題目Java
- NYNU ACM 藍橋杯選拔賽 解題報告ACM
- 藍橋杯真題
- 藍橋杯練習系統題目集
- 藍橋杯題目編號1265
- 藍橋杯練習試題程式碼及講解
- 藍橋杯-座次問題
- 藍橋杯-日期問題
- 第十屆藍橋杯C++國賽B組部分題解(假題解)C++
- 藍橋杯javaB組備賽Java
- 第十五屆藍橋杯軟體賽省賽C/C++B 組題解C++
- 藍橋杯例題-快速分揀
- 2013藍橋杯題解c++A組C++
- 【題解】爬山 藍橋杯2024省B
- 2013年第四屆藍橋杯省賽試題及詳解(Java本科C組)Java
- 2018年第九屆藍橋杯省賽試題及詳解(Java本科A組)Java
- 藍橋杯第 3 場 演算法季度賽第八題 升級電纜題解演算法
- 2016年藍橋杯C/C++組省賽第一題--煤球數目C++
- 藍橋杯大賽——驅動程式
- 2014年第五屆藍橋杯省賽試題及詳解(Java本科C組)Java
- 2018年第九屆藍橋杯省賽試題及詳解(Java本科B組)Java
- 2013藍橋杯題解c組C++C++
- 第十四屆藍橋杯省賽C++ B組(個人經歷 + 題解)C++
- Java藍橋杯14年第五題Java
- 【藍橋杯考前突擊】第十屆藍橋杯省賽C/C++大學B組 試題 D 數的分解C++
- 藍橋杯-買不到的數目
- 題目 1501: [藍橋杯][演算法提高VIP]分蘋果演算法蘋果
- 第九屆藍橋杯省賽C++A組 倍數問題(dfs)C++
- 2015年藍橋杯六屆省賽大學B組真題
- 藍橋杯 演算法訓練 K好數(Java解題)演算法Java
- 第十三屆藍橋杯省賽A組
- 2017省賽藍橋杯B組
- 藍橋杯第9場小白入門賽
- 第14屆藍橋杯B組國賽
- 第七屆藍橋杯大賽個人賽省賽(軟體類)真題 C語言A組 1C語言