藍橋杯 2016初賽 冰雹數

2021-10-09 07:09:45 字數 798 閱讀 9955

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