C語言6174問題

2021-08-19 10:02:11 字數 728 閱讀 3836

描述 

假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到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解題思路:

這道題主要是如何把乙個四位數的四個數字進行從小到大排序與從大到小排序得到兩個新的四位數,用乙個陣列a來儲存四位數的四個數字,這樣子這道題就變得迎刃而解。

程式:#include

#include

#include

using namespace std;

int a[10];

int cmp(double a,double b)

void fun(int n)

int main()

}flag=1;

printf("%d\n",j-1);

}return 0;

}

題目 6174問題

題目問題 f 6174問題 時間限制 1 sec 記憶體限制 128 mb 提交 444 解決 244 提交 狀態 討論版 題目描述 假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到...

ACM 6174問題C 解決

include stdafx.h include include using namespace std 描述 假設你有乙個各位數字互不相同的四位數,把所有的數字從大到小排序後得到a,從小到大後得到b,然後用a b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321 1234 3...

6174問題理工題

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