1019 數字黑洞(附詳細注釋,邏輯分析)

2021-09-26 03:34:46 字數 1424 閱讀 5348

寫在前面

題目較簡單,時間花費:自定義函式。

10分鐘a題

測試用例

input:

6767

output:

7766

-6677

=1089

9810

-0189

=9621

9621

-1269

=8352

8532

-2358

=6174

input:

2222

output:

2222

-2222

=0000

ac**
#include

#include

using namespace std;

bool cmp

(int a,

int b)

void

to_array

(int n,

int num)

}int

to_number

(int num)

intmain()

return0;

}

學習**

#include

#include

using namespace std;

bool cmp

(char a,

char b)

intmain()

while

(s !=

"6174"

&& s !=

"0000");

return0;

}

知識點小結
// 字串補位

string s;

s.insert(0

,4- s.

length()

,'0');

// 在index位置插入count個字元ch

string str =

"meihao"

;string sstr = str.

insert(0

,2,'a');

cout

// 字元排序

bool cmp

(char a,

char b)

sort

(a.begin()

, a.

end(

), cmp)

;sort

(b.begin()

, b.

end())

;// 字串轉數字

stoi

(a);

// 數字轉字串

to_string

(result)

;

1019 數字黑洞

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

1019 數字黑洞

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

1019 數字黑洞

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