任意給定乙個正整數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)
對於每組測試資料,輸出一行包含乙個正整數表示答案
樣例輸入
10100
樣例輸出
529232
1.題目表述不清楚,但是樣例可以說明問題。題目要求的是1~n中最大的冰雹數。因為10,輸出的是52,如果按n中的最大冰雹數的話,就應該是16。2.暴力可以過,但是 記錄最大冰雹數和每次迴圈的時候使用的臨時變數應該用 long long,不然會超時
#include
#define ll long long
using
namespace std;
intmain()
else
if(ans>maxx)
maxx=ans;}}
cout<}
藍橋杯2016初賽 冰雹數 模擬
題目描述 任意給定乙個正整數n,如果是偶數,執行 n 2 如果是奇數,執行 n 3 1 生成的新的數字再執行同樣的動作,迴圈往復。通過觀察發現,這個數字會一會兒上公升到很高,一會兒又降落下來。就這樣起起落落的,但最終必會落到 1 這有點像小冰雹粒子在冰雹雲中翻滾增長的樣子。比如n 9 9,28,14...
藍橋杯 冰雹數
冰雹數 任意給定乙個正整數n,如果是偶數,執行 n 2 如果是奇數,執行 n 3 1 生成的新的數字再執行同樣的動作,迴圈往復。通過觀察發現,這個數字會一會兒上公升到很高,一會兒又降落下來。就這樣起起落落的,但最終必會落到 1 這有點像小冰雹粒子在冰雹雲中翻滾增長的樣子。比如n 9 9,28,14,...
藍橋杯真題 冰雹數
任意給定乙個正整數n,如果是偶數,執行 n 2 如果是奇數,執行 n 3 1 生成的新的數字再執行同樣的動作,迴圈往復。通過觀察發現,這個數字會一會兒上公升到很高,一會兒又降落下來。就這樣起起落落的,但最終必會落到 1 這有點像小冰雹粒子在冰雹雲中翻滾增長的樣子。比如n 9 9,28,14,7,22...