PAT 乙級 1019 數字黑洞

2021-09-17 22:33:54 字數 1377 閱讀 3289

給定任乙個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有「數字黑洞」之稱的 6174,這個神奇的數字也叫 kaprekar 常數。

例如,我們從6767開始,將得到

7766 - 6677 = 1089

9810 - 0189 = 9621

9621 - 1269 = 8352

8532 - 2358 = 6174

7641 - 1467 = 6174

… …現給定任意 4 位正整數,請編寫程式演示到達黑洞的過程。

輸入給出乙個 (0,104 ) 區間內的正整數 n。

如果 n 的 4 位數字全相等,則在一行內輸出 n - n = 0000;否則將計算的每一步在一行內輸出,直到 6174 作為差出現,輸出格式見樣例。注意每個數字按 4 位數格式輸出。

對給定的n個正整數,按題目要求就算a1 ~ a5並在一行中順序輸出,數字間以空格分隔,但行末不得有多餘空格。若其中國某一類數字不存在,則在相應位置輸出n

輸入樣例 1:

輸出樣例 1:

7766 - 6677 = 1089

9810 - 0189 = 9621

9621 - 1269 = 8352

8532 - 2358 = 6174

輸入樣例 2:

輸出樣例 2:

2222 - 2222 = 0000

#include

#include

#include

using namespace std;

bool comp1

(int a,

int b)

intmain()

sort

(a,a+

4,comp1)

; a1= a[3]

*1000

+ a[2]

*100

+a[1]*

10+ a[0]

; a2= a[0]

*1000

+ a[1]

*100

+a[2]*

10+ a[3]

;printf

("%04d - %04d = %04d\n"

,a1,a2,a1-a2);if

(a1-a2 ==

6174

|| a1== a2)

else

}return0;

}

PAT 乙級 1019 數字黑洞

例如,我們從6767開始,將得到 7766 6677 1089 9810 0189 9621 9621 1269 8352 8532 2358 6174 7641 1467 6174 現給定任意4位正整數,請編寫程式演示到達黑洞的過程。輸入格式 輸入給出乙個 0,10000 區間內的正整數n。輸出格...

PAT乙級 1019 數字黑洞

給定任乙個各位數字不完全相同的4位正整數,如果我們先把4個數字按非遞增排序,再按非遞減排序,然後用第1個數字減第2個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的6174,這個神奇的數字也叫kaprekar常數。例如,我們從6767開始,將得到 7766 6677 10...

PAT乙級1019 數字黑洞

時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 給定任乙個各位數字不完全相同的4位正整數,如果我們先把4個數字按非遞增排序,再按非遞減排序,然後用第1個數字減第2個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停...