遞推遞迴練習 J 數學黑洞

2021-07-29 12:27:25 字數 854 閱讀 7316

description

任意乙個4位自然數n(n不能是4個數字一樣,如1111、2222、….9999是不可以的,n也不能是6174),將組成自然數n的4個數字重新排列,形成乙個最大數和最小數,最大數和最小數相減,其差還是自然數,將差的各數字再重新排列,又形成乙個最大數和最小數,最大數和最小數相減,其差還是自然數。反覆進行,直到差是乙個神秘數6174(數學黑洞)結束。

input

輸入資料有多組,每組佔一行,每行包含乙個4位自然數n。輸入檔案直到eof為止!

output

對每組輸入,輸出有2行。第一行是所有的差,以空格分隔,最後乙個數後也有空格;第二行是差的個數。

sample input

1000

1500

3000

sample output

999 8991 8082 8532 6174

55085 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...