演算法競賽入門經典 第五章 6174

2021-06-22 09:47:42 字數 567 閱讀 9360

假設你有乙個各位數字互不相同的四位數,把所有數字從大到小排序後得到a,從小到大排序後得到b,然後用a-b替換原來這個數,並且繼續操作。例如,從1234出發,依次可以得到4321-1234=3087,8370-378=8352,8352-2358=6174,有趣的是,7641-1467=6174,回到了他自己。

輸入乙個n位數,輸出操作序列,直到出現迴圈(即新得到的數曾經得到過)。輸入保證在迴圈之前最多隻會產生1000個數。

樣例輸入:1234

樣例輸出:1234->3087->8352->6174->6174

sscanf(s,"%d",x);作用是將數字轉化為字串

sscanf(s,"%d",&x);作用是將字串轉化為數字。

#include #include int num[2000],count;

int get_next(int x)}}

sscanf(s,"%d",&b);

//字串反轉

for(i=0;i%d",num[count]);

//在陣列num中尋找新生成的數

found=0;

for(i=0;i

演算法競賽入門經典 第五章6174問題

include include int get next int x sscanf s,d b 輸出氣泡排序拍好的由小到大的數 for int i 0 i n 2 i 輸出由大到小的數 sscanf s,d a sscanf在這裡承擔格式轉換功能 return a b int num 2000 co...

演算法競賽入門經典第五章

例 5.1.3 週期串 fgets str,max,stdin scanf s str fgets 函式執行後,str會讀到 n 符號停下,也就是提取一行,n 也被讀進字串,因此strlen str 會比原本輸入的字串多乙個 除了一種很特殊的情況,讀入一行時,只一行並不是以 n 結束,而是以eof結...

演算法競賽入門經典 第五章錯位輸出

include char s 1234567890 qwertyuiop asdfghjkl zxcvbnm,int main return 0 記錄下標還可以當條件滿足的時候退出,這樣迴圈變數就一定是符合要求d 的下標值 要是我我會這麼寫 include char s 1234567890 qwe...