什么是數(shù)字黑洞?Kaprekar常數(shù)又是什么?這些問題可能是我們?nèi)粘9ぷ鲿姷降?。通過這個問題,希望你能收獲更多。下面是揭開這些問題的詳細內(nèi)容。
十載的海原網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整海原建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“海原網(wǎng)站設(shè)計”,“海原網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
給定任一個各位數(shù)字不完全相同的4位正整數(shù),如果我們先把4個數(shù)字按非遞增排序,再按非遞減排序,然后用第1個數(shù)字減第2個數(shù)字,將得到 一個新的數(shù)字。一直重復(fù)這樣做,我們很快會停在有“數(shù)字黑洞”之稱的6174,這個神奇的數(shù)字也叫Kaprekar常數(shù)。 例如,我們從6767開始,將得到 7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532 - 2358 = 6174 7641 - 1467 = 6174 ... ... 現(xiàn)給定任意4位正整數(shù),請編寫程序演示到達黑洞的過程。
輸入給出一個(0, 10000)區(qū)間內(nèi)的正整數(shù)N。
如果N的4位數(shù)字全相等,則在一行內(nèi)輸出“N - N = 0000”;否則將計算的每一步在一行內(nèi)輸出,直到6174作為差出現(xiàn),輸出格式見樣例,每行中間沒有空行。注意每個數(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ù)的詳細內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊!