題目描述
任意給定乙個正整數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到n中的每個數經過上述操作後得到的最大值,記得開long long
**如下:
#include
using
namespace std;
typedef
long
long ll;
ll op
(ll x)
intmain()
}}cout << maxv << endl;
}return0;
}
藍橋杯 2016初賽 冰雹數
任意給定乙個正整數n,如果是偶數,執行 n 2 如果是奇數,執行 n 3 1 生成的新的數字再執行同樣的動作,迴圈往復。通過觀察發現,這個數字會一會兒上公升到很高,一會兒又降落下來。就這樣起起落落的,但最終必會落到 1 這有點像小冰雹粒子在冰雹雲中翻滾增長的樣子。比如n 9 9,28,14,7,22...
藍橋杯 冰雹數
冰雹數 任意給定乙個正整數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...