7-6 黑洞數(20 分)
黑洞數也稱為陷阱數,又稱“Kaprekar問題”,是一類具有奇特轉換特性的數。
任何一個各位數字不全相同的三位數,經有限次“重排求差”操作,總會得到495。最後所得的495即為
三位黑洞數。所謂“重排求差”操作即組成該數的數字重排後的最大數減去重排後的最小數。
(6174為四位黑洞數。)
例如,對三位數207:
第1次重排求差得:720 - 27 = 693;
第2次重排求差得:963 - 369 = 594;
第3次重排求差得:954 - 459 = 495;
以後會停留在495這一黑洞數。如果三位數的3個數字全相同,一次轉換後即為0。
任意輸入一個三位數,程式設計給出重排求差的過程。
輸入格式:
輸入在一行中給出一個三位數。
輸出格式:
按照以下格式輸出重排求差的過程:
序號: 數字重排後的最大數 - 重排後的最小數 = 差值
序號從1開始,直到495出現在等號右邊為止。
輸入樣例:
123
輸出樣例:
1: 321 - 123 = 198
2: 981 - 189 = 792
3: 972 - 279 = 693
4: 963 - 369 = 594
5: 954 - 459 = 495
#include<iostream>
using namespace std;
int main()
{
int i,max,min,num,f=0,a,b,c,t;
cin>>num;
while(num!=495||f==0){
a=num/100;
b=num/10%10;
c=num%10;
if(a<b) {t=a;a=b;b=t;}
if(a<c) {t=a;a=c;c=t;}
if(b<c) {t=b;b=c;c=t;}
max=a*100+b*10+c;
min=a+b*10+c*100;
num=max-min;
f++;
cout << f <<": "<< max << " - " << min << " = " << num << endl;
}
}
相關文章
- 1019 數字黑洞 (20 分)javaJava
- 數字10的黑洞
- 數字5的黑洞
- 等於K的三數黑洞
- 7-45 找完數(20 分)
- L1-095 分寢室 分數 20
- java解決數字黑洞問題Java
- L1-056 猜數字 分數 20
- 1013 數素數 (20分)/c++實現C++
- L1-027 出租 分數 20
- PAT1019 數字黑洞(java實現)Java
- L1-034 點贊 分數 20
- 1002 寫出這個數 (20 分)javaJava
- L1-080 乘法口訣數列 分數 20
- L1-104 九宮格 分數 20
- L1-043 閱覽室 分數 20
- L1-071 前世檔案 分數 20
- L1-072 刮刮彩票 分數 20
- L1-059 敲笨鍾 分數 20
- L1-023 輸出GPLT 分數 20
- L1-039 古風排版 分數 20
- B1002 寫出這個數 (20分)
- PAT甲級真題1069 數字黑洞(巧妙解法)
- PAT-B 1019 數字黑洞【陣列+模擬】陣列
- L1-020 帥到沒朋友 分數 20
- L1-056 猜數字 (20分) C++C++
- L1-088 靜靜的推薦 分數 20
- L1-096 誰管誰叫爹 分數 20
- PTA乙級_1024 科學計數法 (20分)_pythonPython
- PAT 乙級 1094 谷歌的招聘 (20分)---【素數 字串】谷歌字串
- 【PAT乙級、C++】1024 科學計數法 (20分)C++
- 6-7 奇數值結點連結串列 (20 分)
- 漂亮11分數的數列:1/2~11/12構成的謎題(20)
- 1027 列印沙漏 (20分)
- 1152 Google Recruitment (20分)GoUI
- 1088 Rational Arithmetic (20分)
- 20分鐘上手 webAssemblyWeb
- Python:第6章-2 使用函式求素數和 (20分)Python函式