藍橋杯 5位黑洞數

2021-06-29 09:46:06 字數 563 閱讀 6044

任意乙個5位數,比如:34256,把它的各位數字打亂,重新排列,可以得到乙個最大的數:65432,乙個最小的數23456。求這兩個數字的差,得:41976,把這個數字再次重複上述過程(如果不足5位,則前邊補0)。如此往復,數字會落入某個迴圈圈(稱為數字黑洞)。

比如,剛才的數字會落入:[82962, 75933, 63954, 61974] 這個迴圈圈。

請編寫程式,找到5位數所有可能的迴圈圈,並輸出,每個迴圈圈占1行。其中5位數全都相同則迴圈圈為 [0],這個可以不考慮。

迴圈圈的輸出格式仿照:

[82962, 75933, 63954, 61974]

其中數字的先後順序可以不考慮。

#include

#include

#include

#include

using namespace std;

int s[90000],vis[100000];

int getsub(int n)//得到這個5位數的最大值 -最小值 

,mins=0,maxs=0;

for(int i=4;i>=0;i--)

5位黑洞數

最近在做藍橋杯的練習題,做題目的過程並不順利,有時候會想很久,也去網上搜了些 但看得都是不明不白,最後自己想了好久,終於執行成功,有點小喜悅,也把自己的思路寫出來,雖然並不完美。題目描述 任意乙個5位數,比如 34256,把它的各位數字打亂,重新排列,可以得到乙個最大的數 65432,乙個最小的數2...

5位數的數字黑洞是多少 5位黑洞數

任意乙個5位數,比如 34256,把它的各位數字打亂,重新排列,可以得到乙個最大的數 65432,乙個最小的數23456。求這兩個數字的差,得 41976,把這個數字再次重複上述過程 如果不足5位,則前邊補0 如此往復,數字會落入某個迴圈圈 稱為數字黑洞 比如,剛才的數字會落入 82962,7593...

藍橋杯 黑洞數 解題報告

任意乙個5位數,比如 34256,把它的各位數字打亂,重新排列,可以得到乙個最大的數 65432,乙個最小的數23456。求這兩個數字的差,得 41976,把這個數字再次重複上述過程 如果不足5位,則前邊補0 如此往復,數字會落入某個迴圈圈 稱為數字黑洞 比如,剛才的數字會落入 82962,7593...