1019 數字黑洞

2021-10-03 19:45:28 字數 1160 閱讀 9387

都是數字的問題,雖然本題要的是4位數字,但是並沒有明確指出要輸入乙個4位數,所以可能我們直接做就是考慮輸入4位數,但是也要考慮其他。輸入的不是要補0的,我寫的**不用在輸入第乙個數時補0,因為直接求的是四個數。但是你輸出的時候不一定是4位,所以要補0,我的方法是直接輸出排序後的四位數,因為0已結在這4個數里了,比如你輸入2300,當輸出的時候就是3200-0023;這個題到處是坑,也許是我還不夠大佬吧。輸出式子前面的兩個數要注意補0,等號後的也要注意。

這個就是輸入6174的時候,應該輸出7641 - 1467 = 6174。所以就直接設個if就成。(注意不要像我一樣把數字寫倒)

或許輸入0的時候不是個點吧,我試了一下,不管你輸出0000 - 0000 = 0000還是0 - 0 = 0000,都是滿分。

**:

#include

#include

intmain()

else

if(n==

6174

)else}if

(max!=j)

} qian=a[3]

*1000

+a[2]*

100+a[1]

*10+a[0];

hou=a[0]

*1000

+a[1]*

100+a[2]

*10+a[3];

n=qian-hou;

b[0]

=n/1000

; b[1]

=(n-

1000

*b[0])

/100

; b[2]

=(n-

1000

*b[0]-

100*b[1]

)/10;

b[3]

=n%10

;printf

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

,a[3

],a[2]

,a[1

],a[0]

,a[0

],a[1]

,a[2

],a[3]

,b[0

],b[1]

,b[2

],b[3]

);}}

}

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個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停...