南陽oj 題目57 6174問題

2021-07-03 16:56:10 字數 868 閱讀 9824

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:2 描述

假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a-b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己!現在要你寫乙個程式來判斷乙個四位數經過多少次這樣的操作能出現迴圈,並且求出操作的次數

比如輸入1234執行順序是1234->3087->8352->6174->6174,輸出是4

輸入

第一行輸入n,代表有n組測試資料。

接下來n行每行都寫乙個各位數字互不相同的四位數

輸出經過多少次上面描述的操作才能出現迴圈

樣例輸入

1

1234

樣例輸出

4

注:此題為:南陽oj 題目57 6174問題

說明: 先將四位數拆開,排序,組合成最大,最小,最後迴圈計數

#include是sort(a,a+4);的標頭檔案

sort為塊速排序函式,

已ac源**:

#include#includeusing namespace std;

int a[4];

void yjj(int m) //拆

sort(a,a+4);

} int y_max(int n) //組合為最大

return sum;

}int y_min(int n) //組合為最小

return sum;

}int main()

cout<

(南陽理工acm 題目57)6174問題

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321 1234 3087 8730 378 8352 853...

南陽理工57 6174問題

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321 1234 3087 8730 378 8352 853...

題目57 6174問題

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 數字中有乙個非常神奇的數字 6174,假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321 1234 30...