任意乙個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...