任意給定乙個正整數n,
如果是偶數,執行: n / 2
如果是奇數,執行: n * 3 + 1
生成的新的數字再執行同樣的動作,迴圈往復。
通過觀察發現,這個數字會一會兒上公升到很高,一會兒又降落下來。就這樣起起落落的,但最終必會落到「1」這有點像小冰雹粒子在冰雹雲中翻滾增長的樣子。
比如n=9
9,28,14,7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1
可以看到,n=9的時候,這個「小冰雹」最高衝到了52這個高度。
輸入格式:
乙個正整數n(n<1000000)
輸出格式:
乙個正整數,表示不大於n的數字,經過冰雹數變換過程中,最高衝到了多少。
例如,輸入:
9程式應該輸出:
52再例如,輸入:
1000
程式應該輸出:
9232
資源約定:
峰值記憶體消耗 < 256m
cpu消耗 < 1000ms
請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入…」 的多餘內容。
所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。
注意: main函式需要返回0
注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。
注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。
#include
int max=0;
int r
(int n)
else
if(n%2==
0)r(n);}
else
if(n%2==
1)r(n);}
}int main()
藍橋杯 冰雹數
冰雹數 任意給定乙個正整數n,如果是偶數,執行 n 2 如果是奇數,執行 n 3 1 生成的新的數字再執行同樣的動作,迴圈往復。通過觀察發現,這個數字會一會兒上公升到很高,一會兒又降落下來。就這樣起起落落的,但最終必會落到 1 這有點像小冰雹粒子在冰雹雲中翻滾增長的樣子。比如n 9 9,28,14,...
藍橋杯 2016初賽 冰雹數
任意給定乙個正整數n,如果是偶數,執行 n 2 如果是奇數,執行 n 3 1 生成的新的數字再執行同樣的動作,迴圈往復。通過觀察發現,這個數字會一會兒上公升到很高,一會兒又降落下來。就這樣起起落落的,但最終必會落到 1 這有點像小冰雹粒子在冰雹雲中翻滾增長的樣子。比如n 9 9,28,14,7,22...
藍橋杯真題 方格填數
方格填數 填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。思路 明顯是一道dfs題 答案 1580 include using namespace std...