時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:2 描述
數字中有乙個非常神奇的數字:6174,假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a-b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己!現在要你寫乙個程式來判斷乙個四位數經過多少次這樣的操作能出現迴圈,並且求出操作的次數
比如輸入1234執行順序是1234->3087->8352->6174->6174,輸出是4
輸入
第一行輸入n,代表有n組測試資料。
接下來n行每行都寫乙個各位數字互不相同的四位數
輸出經過多少次上面描述的操作才能出現迴圈
樣例輸入
11234
樣例輸出
4**:
#include#define bit 4
/*函式宣告*/
void seperate(int *a,int b);
void sort(int *a,int n);
void swap(int *a,int *b);
int min(int *a,int n);
int max(int *a,int n);
int statistic(int a);
void print(int *a);
int main()
/*交換兩個元素的值*/
void swap(int *a,int *b)
/*將陣列中的數字組成乙個有陣列元素組成的最小的數*/
int min(int *a,int n)
return min;
}/*將陣列中的數字組成乙個有陣列元素組成的最大的數*/
int max(int *a,int n)
return max;
}/*統計從乙個數到6174需要的步數*/
int statistic(int a)
while(a!=number);
return count;
}
NYOJ 題目57 6174問題
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321 1234 3087 8730 378 8352 85...
南陽oj 題目57 6174問題
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321 1234 3087 8730 378 8352 85...
(南陽理工acm 題目57)6174問題
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321 1234 3087 8730 378 8352 853...