藍橋杯 演算法提高VIP 數字黑洞

2021-10-05 14:20:33 字數 1060 閱讀 6330

題目描述

任意乙個四位數,只要它們各個位上的數字是不全相同的,就有這樣的規律:

1)將組成該四位數的四個數字由大到小排列,形成由這四個數字構成的最大的四位數;

2)將組成該四位數的四個數字由小到大排列,形成由這四個數字構成的最小的四位數(如果四個數中含有0,則得到的數不足四位);

3)求兩個數的差,得到乙個新的四位數(高位零保留)。

重複以上過程,最後一定會得到的結果是6174。

比如:4312 3087 8352 6174,經過三次變換,得到6174

輸入

乙個四位整數,輸入保證四位數字不全相同

輸出

乙個整數,表示這個數字經過多少次變換能得到6174

樣例輸入

4312

樣例輸出

3c++**

#include

using

namespace std;

intarr2num

(int a)

return n;

}//使之成為新的四位數

intmain()

sort

(a,a+4)

;// sort(a,a+4,less())

int x =

arr2num

(a);

sort

(a,a+

4,greater<

int>()

);/* greater表示內建型別從大到小排序,

less表示內建型別從小到大排序

*/int y =

arr2num

(a);

n = y-x;

cnt++;}

while

(n !=

6174);

cout << cnt << endl;

return0;

}

藍橋杯 演算法提高VIP 掃雷

掃雷遊戲你一定玩過吧!現在給你若干個n m的地雷陣,請你計算出每個矩陣中每個單元格相鄰單元格內地雷的個數,每個單元格最多有8個相鄰的單元格。0 n,m 100 注意兩個矩陣之間應該有乙個空行,由於oj的格式化這裡不能顯示出來 資料規模和約定 0 n,m 100 輸入包含若干個矩陣,對於每個矩陣,第一...

藍橋杯 演算法提高VIP 班級排名

題目描述 達達在陶陶的影響下,也對學習慢慢的產生了興趣。他在每次考試之後,都會追著老師問,自己在班級的總名次是多少。考試一多,老師也不耐煩了,於是他給了達達所有人的成績,讓他自己去算出自己的排名。可人太多了,達達也無法立即算出來,於是他想讓你幫幫他。資料規模和約定 n 100,名字長度不超過30,分...

藍橋杯 演算法提高VIP 交換Easy

時間限制 1sec 記憶體限制 128mb 題目描述 給定n個整數組成的序列,每次交換當前第x個與第y個整數,要求輸出最終的序列。輸入 第一行為序列的大小n 1 n 1000 和操作個數m 1 m 1000 第二行包含n個數字,表示初始序列。接下來m行,每行兩個整數x,y 1 x,y n 表示要交換...