2023年華為程式設計大賽B卷第二道題

2021-06-21 15:41:39 字數 1061 閱讀 4931

2 、查詢最大的不重複數( 30 分) 

  問題描述 

如果乙個數字十進位制表達時,不存在連續兩位相同,則稱之為「不重複數」。例如, 105 、 1234 和 12121 都是「不重複數」,而 11 、 100 和 1225 不是。給定乙個正整數 a ,返回大於 a 的最小「不重複數」。 a 小於 100000 

  要求實現函式 

unsigned int getnotrepeatnum(unsigned int lvalue) 

【輸入】 lvalue :

給定的數字,返回大於該值的最小不重複數 

【輸出】 無 

【返回】大於 ivalue 的最小不重複數 

  示例 

輸入: ivalue =54 

返回: 56 

輸入: ivalue =10 

返回: 12    

輸入: ivalue =98 

返回: 101 

輸入: ivalue =21099 

返回: 21201 

應該有比這個簡潔得多的方法才對,只是沒睡午覺,實在想不動了

#include "stdafx.h"

#include "iostream"

#include "math.h"

using namespace std;

int getbitnum(int num, int locate)

if (locate == 1)

return (num / (int)pow(10, (double)(locate - 1))) % 10;

}bool isrepeatnum(unsigned int num)

for (int i = 1; i < len; i++)

} return false;

}unsigned int getnotrepeatnum(unsigned int lvalue)

return lvalue; }

int _tmain(int argc, _tchar* argv)

2023年華為程式設計大賽題目

include include includeint findstat const char map,unsigned int iarrn,unsigned int ipathlen if map i x locationx i std queuemyqueue visited locationx ...

2023年百度之星程式設計大賽初賽B

圓環 時間限制 1000ms 描述乙個圓環上有n個位置,這n個位置按順時針依次標號為1,2,n。初始時圓環的每個位置上都有乙個1至n之間的整數,且每個整數只出現一次。任何時刻,你可以將圓環上的數全部逆時針旋轉乙個位置,即第i個位置上的數變為原來第i 1個位置上的數,第n個位置上的數變為原來第1個位置...

2012屆華為程式設計大賽第二題

華為2012年程式設計大賽 2.輸入聯想 30分 問題描述 輸入聯想功能是非常實用的乙個功能,請程式設計實現類似功能。要求實現函式 void auto complete char str,char tmp,char output 輸入 char str,候選字串 char tmp,輸入字串 輸出 i...