藍橋杯2016初賽 冰雹數 模擬

2021-10-20 19:12:17 字數 742 閱讀 1932

題目描述

任意給定乙個正整數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...