日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > 求解黑洞數(shù)

求解黑洞數(shù)

來源:程序員人生   發(fā)布時(shí)間:2015-07-08 07:58:18 閱讀次數(shù):3601次

問題描寫:

黑洞數(shù)又稱圈套數(shù),是類具有奇特轉(zhuǎn)換特性的整數(shù)。任何1個(gè)數(shù)字不全相同的整數(shù), 經(jīng)有限“重排求差”操作,總會(huì)得到某1個(gè)或1些數(shù),這些數(shù)即為黑洞數(shù)。 “重排求差”操作即把組成該數(shù)的數(shù)字重排后得到的最大數(shù)減去重排后得到的最小數(shù)。 舉個(gè)例子,3位數(shù)的黑洞數(shù)為495. 簡易推導(dǎo)進(jìn)程:隨意找個(gè)數(shù),如297,3個(gè)位上的數(shù)從小到大和從大到小各排1次, 為972和279,相減得693。按上面做法再做1次,得到594,再做1次,得到495, 以后反復(fù)都得到495。 驗(yàn)證4位數(shù)的黑洞數(shù)為6174。
解題思路:


#include<stdio.h> #include<iostream> #include<stdlib.h> using namespace std; #define LENTH 100 /* 降序:冒泡排序 */ void dec_sort(int array[],int n) { int flag = 0; for(int i=0;i<n⑴;++i)//n⑴趟排序 { for(int j=0;j<n-i⑴;++j)//第i趟比較n-i次,由于i從0開始,所以還得⑴ { if(array[j] < array[j+1]) { array[j] += array[j+1];//array[j] = array[j] + array[j+1] array[j+1] = array[j] - array[j+1]; array[j] -= array[j+1];//array[j] = array[j] - array[j+1] flag = 1; } } if(flag == 0)//在1趟排序中若未產(chǎn)生交換,表明已排序好,退出程序 break; } } /* 升序:選擇排序 */ void inc_sort(int array[],int n) { int k; for(int i=0;i<n⑴;++i)//n個(gè)數(shù),將前n⑴個(gè)數(shù)放置好就結(jié)束了 { k = i;//假定要排序的1組數(shù)據(jù)中第1個(gè)數(shù)最小(k寄存待排序數(shù)據(jù)中最小值的下標(biāo)) for(int j=k+1;j<n;++j) { if(array[j] < array[k])//若存在比當(dāng)前值還小的數(shù),則交換下標(biāo) { k = j; } } if(k != i) { array[i] += array[k]; array[k] = array[i] - array[k]; array[i] -= array[k]; } } } int black_hole_num(int n) { cout<<n<<endl; //注意:!??!求解進(jìn)程中會(huì)改變n的值,而下面要用到n,不想它改變 //所以用臨時(shí)變量保存他的值,改變臨時(shí)變量,而不改變它 int temp = n; int array[LENTH]; int i = 0; int count; int max = 0; int min = 0; /* 將該數(shù)值的各個(gè)位寄存在數(shù)組中 */ while(temp) { array[i] = temp%10; i++; temp /= 10; } count = i; /* 元素升序以后,求解最小值*/ inc_sort(array,count); for(i=0;i<count;++i) { min = min*10 + array[i]; } /* 元素降序以后,求解最大值*/ dec_sort(array,count); for(i=0;i<count;++i) { max = max*10 + array[i]; } /* if(max - min == n)//此處要用到n的值,所以改變臨時(shí)變量而不改變n return n; else return black_hole_num(max - min);*/ return (max - min == n) ? n:black_hole_num(max - min); } int main() { int flag = 1; int n; int num; system("mode con cols=100 lines=100"); system("color 0A"); while(flag) { cout<<"----------求解黑洞數(shù)-------------"<<endl; cout<<" zyh_helen"<<endl; cout<<"請輸入您要求的黑洞數(shù)的位數(shù):"<<endl; cin>>n; cout<<"請輸入"<<n<<"個(gè):任何1個(gè)數(shù)字不全相同的整數(shù)"<<endl; cin>>num; cout<<"黑洞數(shù)為:"<<black_hole_num(num)<<endl; cout<<"continue:1 break:0"<<endl; cin>>flag; } return 0; }


當(dāng)輸入5的時(shí)候,會(huì)墮入[82962,75933,63954,61974]循環(huán)圈中


<span style="color:#ff0000;">任何1個(gè)數(shù)字不全相同的整數(shù), 經(jīng)有限“重排求差”操作,總會(huì)得到某1個(gè)或</span><span style="color:#3333ff;">1些數(shù)</span><span style="color:#ff0000;">,這些數(shù)即為黑洞數(shù)。</span>


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产成人一区二区三区 | 秋霞在线观看视频 | 欧美一级大片在线播放 | 国产精品一区二区6 | 日韩欧美一区二区在线 | 国产在视频线在精品视频55 | 亚洲精品视频在线观看视频 | 国产精品视频999 | 精品在线一区 | 国产成人免费视频网站视频社区 | 日韩精品电影在线观看 | 91精品国产综合久久久久久 | 91日日| 欧洲亚洲一区 | 精品成人 | 成人激情视频网站 | 国产在线免费视频 | 亚洲专区中文字幕 | 久久专区 | 日本一区二区在线视频 | 成人黄色毛片 | 亚洲美女视频一区 | 香蕉视频在线播放 | 91看片淫黄大片91桃色 | а_天堂中文最新版地址 | 国产综合久久 | 午夜性视频 | 日本黄xxxxxxxxx100 | 久久久美女 | 黄色动漫免费在线观看 | 久久精品国产一区二区三区不卡 | 色片在线免费观看 | 国内黄色片 | 国产视频色 | 日韩欧美一区二区三区 | 欧美三区视频 | 国产亚洲一区二区三区 | 色婷婷综合久久久久中文一区二 | 香蕉视频一区二区三区 | 婷婷五月在线视频 | 日韩精品在线观看视频 |