description
任意乙個4位自然數n(n不能是4個數字一樣,如1111、2222、….9999是不可以的,n也不能是6174),將組成自然數n的4個數字重新排列,形成乙個最大數和最小數,最大數和最小數相減,其差還是自然數,將差的各數字再重新排列,又形成乙個最大數和最小數,最大數和最小數相減,其差還是自然數。反覆進行,直到差是乙個神秘數6174(數學黑洞)結束。
input
輸入資料有多組,每組佔一行,每行包含乙個4位自然數n。輸入檔案直到eof為止!
output
對每組輸入,輸出有2行。第一行是所有的差,以空格分隔,最後乙個數後也有空格;第二行是差的個數。
sample input
10001500
3000
sample output
999 8991 8082 8532 617455085 7992 7173 6354 3087 8352 6174
72997 7173 6354 3087 8352 6174
這道題是實現問題,**如下:
#include using namespace std;
int s,a[10];
void f( int n)
sort(a,a+i);
int y,x;
x=a[1]*1000+a[2]*100+a[3]*10+a[4];
y=a[4]*1000+a[3]*100+a[2]*10+a[1];
int m=y-x; s++;
cout<>n)
return 0;
}
遞推遞迴練習 J題
題目描述 任意乙個4位自然數n n不能是4個數字一樣,如1111 2222 9999是不可以的,n也不能是6174 將組成自然數n的4個數字重新排列,形成乙個最大數和最小數,最大數和最小數相減,其差還是自然數,將差的各數字再重新排列,又形成乙個最大數和最小數,最大數和最小數相減,其差還是自然數。反覆...
J 數學黑洞
description 任意乙個4位自然數n n不能是4個數字一樣,如1111 2222 9999是不可以的,n也不能是6174 將組成自然數n的4個數字重新排列,形成乙個最大數和最小數,最大數和最小數相減,其差是還是自然數,將差的各數字再重新排列,又形成乙個最大數和最小數,最大數和最小數相減,其差...
ACM(遞迴遞推 J)
題目 輸入乙個數n 不能是1111,2222,3333這類數 然後將這個數重新排列形成乙個最大的數最小的數,然後這兩個數的差如果等於6174這停止,輸入乙個四位數n然後按要求重新排列候做差,輸出每個做得差,然後換一行輸出差的個數。解題思路 定義乙個函式,將n的個十百千位存入陣列中,然後在分別成100...