PAT甲級真題1069 數字黑洞 巧妙解法)

2021-10-10 09:47:06 字數 1078 閱讀 4870

對於任何各位數字不完全相同的四位整數,我們將該數字的四個數字按非公升序排列,得到乙個數字,再按非降序排列,得到另乙個數字,將兩個數字相減就能得到乙個新的數字。

不斷重複這個過程,我們就能得到數字6174 ---- 這是四位數字的黑洞。

例如,給定數字 6767,過程如下:

7766 - 6677 = 1089

9810 - 0189 = 9621

9621 - 1269 = 8352

8532 - 2358 = 6174

7641 - 1467 = 6174

… …給定任意乙個四位數字,請你輸出它進入黑洞的過程。

輸入格式

包含乙個正整數 nn。

注意,給定數字 nn 如果不足四位,則補充前導 00 至四位為止。

輸出格式

如果 nn 的四位數字都相同,則輸出一行 n - n = 0000。

否則,每行輸出乙個操作步驟,直到出現 61746174 作為差值產生為止。

所有數字都必須輸出為四位數字。

資料範圍

0#include

#include

#include

#include

using

namespace std;

vector<

int>

get(

int n)

sort

(nums, nums +4)

;int a =0;

for(

int i =

0; i <

4; i ++

) a = a *

10+ nums[i]

;reverse

(nums, nums +4)

;int b =0;

for(

int i =

0; i <

4; i ++

) b = b *

10+ nums[i]

;return;}

intmain()

while

(n && n !=

6174);

return0;

}

PAT 乙級真題 1009 1019 數字黑洞

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

PAT乙級真題 C 數字黑洞

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

浙大PAT甲級 1069

簡單的字串處理,先將輸入的數前面補0,直到為4位數。然後進行字串相減,直到為6174為止。如果字串每個字元都相等,則輸出0000。ac include include include include include include include include include include in...