什么是數(shù)字黑洞?Kaprekar常數(shù)又是什么?這些問題可能是我們?nèi)粘9ぷ鲿?huì)見到的。通過這個(gè)問題,希望你能收獲更多。下面是揭開這些問題的詳細(xì)內(nèi)容。
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的迎澤網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!給定任一個(gè)各位數(shù)字不完全相同的4位正整數(shù),如果我們先把4個(gè)數(shù)字按非遞增排序,再按非遞減排序,然后用第1個(gè)數(shù)字減第2個(gè)數(shù)字,將得到 一個(gè)新的數(shù)字。一直重復(fù)這樣做,我們很快會(huì)停在有“數(shù)字黑洞”之稱的6174,這個(gè)神奇的數(shù)字也叫Kaprekar常數(shù)。 例如,我們從6767開始,將得到 7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532 - 2358 = 6174 7641 - 1467 = 6174 ... ... 現(xiàn)給定任意4位正整數(shù),請(qǐng)編寫程序演示到達(dá)黑洞的過程。
輸入給出一個(gè)(0, 10000)區(qū)間內(nèi)的正整數(shù)N。
如果N的4位數(shù)字全相等,則在一行內(nèi)輸出“N - N = 0000”;否則將計(jì)算的每一步在一行內(nèi)輸出,直到6174作為差出現(xiàn),輸出格式見樣例,每行中間沒有空行。注意每個(gè)數(shù)字按4位數(shù)格 式輸出。
6767
7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532 - 2358 = 6174
#include#include int str_to_int(const void *str) { char *s=(char *)str; int i; for(i=0;i<4;i++){ if(s[i]=='\0') s[i]='0'; } return (s[0]-'0')*1000+(s[1]-'0')*100+(s[2]-'0')*10+(s[3]-'0'); } void int_to_str(const int num,char *str) { str[0]=num/1000+'0'; str[1]=num/100%10+'0'; str[2]=num/10%10+'0'; str[3]=num%10+'0'; } int comp_min(const void *a,const void *b) { return *(char*)a-*(char*)b; } int comp_max(const void *a,const void *b) { return -(*(char*)a-*(char*)b); } int main() { char str[4]={'0','0','0','0'}; int max=0,min=0,res_num=0; scanf("%s",str); res_num=str_to_int(str); qsort(str,4,sizeof(char),comp_min); min=str_to_int(str); qsort(str,4,sizeof(char),comp_max); max=str_to_int(str); do{ if(max-min==0){ printf("%04d - %04d = 0000\n",max,min); break; }else if(max<=0||max>=10000||min<=0||min>=10000) break; printf("%d - %04d = %d\n",max,min,max-min); res_num=max-min; int_to_str(max-min,str); qsort(str,4,sizeof(char),comp_min); min=str_to_int(str); qsort(str,4,sizeof(char),comp_max); max=str_to_int(str); }while(res_num!=max-min); return 0; }
以上就是數(shù)字黑洞Kaprekar常數(shù)的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。