華為OJ系列 四

2021-08-02 09:16:35 字數 4281 閱讀 4494

華為oj系列(四)

61.【中級】字串運用-密碼擷取

catcher是mca國的情報員,他工作時發現敵國會用一些對稱的密碼進行通訊,比如像這些abba,aba,a,123321,但是他們有時會在開始或結束時加入一些無關的字元以防止別國破解。比如進行下列變化 abba->12abba,aba->abakk,123321->51233214 。因為截獲的串太長了,而且存在多種可能的情況(abaaab可看作是aba,或baaab的加密形式),cathcer的工作量實在是太大了,他只能向電腦高手求助,你能幫catcher找出最長的有效密碼串嗎?

完整題目點這裡                 答案點這裡

62.【中級】單詞倒排

題目描述

對字串中的所有單詞進行倒排。

說明:1、每個單詞是以26個大寫或小寫英文本母構成;

2、非構成單詞的字元均視為單詞間隔符;

3、要求倒排後的單詞間隔符以乙個空格表示;如果原字串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現乙個空格間隔符;

4、每個單詞最長20個字母;

樣例輸入

i am a student

樣例輸入

student a am i

完整題目點這裡                 答案點這裡

63.字串合併處理

按照指定規則對輸入的字串進行處理。

詳細描述:

將輸入的兩個字串合併。

對合併後的字串進行排序,要求為:下標為奇數的字元和下標為偶數的字元分別從小到大排序。這裡的下標意思是字元在字串中的位置。

對排訓後的字串進行操作,如果字元為『0』——『9』或者『a』——『f』或者『a』——『f』,則對他們所代表的16進製制的數進行bit倒序的操作,並轉換為相應的大寫字元。如字元為『4』,為0100b,則翻轉後為0010b,也就是2。轉換後的字元為『2』; 如字元為『7』,為0111b,則翻轉後為1110b,也就是e。轉換後的字元為大寫『e』。

舉例:輸入str1為」dec」,str2為」fab」,合併為「decfab」,分別對「dca」和「efb」進行排序,排序後為「abcedf」,轉換後為「5d37bf」

完整題目點這裡                 答案點這裡

64.字串加解密

題目描述

1、對輸入的字串進行加解密,並輸出。

2加密方法為:

當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b;字母z時則替換為a;

當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0;

其他字元不做變化。

3、解密方法為加密的逆過程。

完整題目點這裡                 答案點這裡

65.查詢兄弟單詞

完整題目點這裡                 答案點這裡

66.字串排序

編寫乙個程式,將輸入字串中的字元按如下規則排序。

規則1:英文本母從a到z排列,不區分大小寫。

如,輸入:type 輸出:epty

規則2:同乙個英文本母的大小寫同時存在時,按照輸入順序排列。

如,輸入:baba 輸出:aabb

規則3:非英文本母的其它字元保持原來的位置。

如,輸入:by?e 輸出:be?y

完整題目點這裡                 答案點這裡

67.刪除字串中出現次數最少的字元

實現刪除字串中出現次數最少的字元,若多個字元出現次數一樣,則都刪除。輸出刪除這些單詞後的字串,字串中其它字元保持原來的順序。

完整題目點這裡                 答案點這裡

68.汽水瓶

有這樣一道智力題:「某商店規定:三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?」答案是5瓶,方法如下:先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以後用3個空瓶子換一瓶滿的還給老闆。如果小張手上有n個空汽水瓶,最多可以換多少瓶汽水喝?

完整題目點這裡                 答案點這裡

69.簡單密碼破解

密碼是我們生活中非常重要的東東,我們的那麼一點不能說的秘密就全靠它了。哇哈哈. 接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。

假設淵子原來乙個bbs上的密碼為zvbo9441987,為了方便記憶,他通過一種演算法把這個密碼變換成yuanzhi1987,這個密碼是他的名字和出生年份,怎麼忘都忘不了,而且可以明目張膽地放在顯眼的地方而不被別人知道真正的密碼。

他是這麼變換的,大家都知道手機上的字母: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0,就這麼簡單,淵子把密碼中出現的小寫字母都變成對應的數字,數字和其他的符號都不做變換,

宣告:密碼中沒有空格,而密碼中出現的大寫字母則變成小寫之後往後移一位,如:x,先變成小寫,再往後移一位,不就是y了嘛,簡單吧。記住,z往後移是a哦

完整題目點這裡                 答案點這裡

70.密碼驗證合格程式

密碼要求:

1.長度超過8位

2.包括大小寫字母.數字.其它符號,以上四種至少三種

3.不能有相同長度超2的子串重複

完整題目點這裡                 答案點這裡

71.識別有效的ip位址和掩碼並進行分類統計

請解析ip位址和對應的掩碼,進行分類識別。要求按照a/b/c/d/e類位址歸類,不合法的位址和掩碼單獨歸類。

所有的ip位址劃分為 a,b,c,d,e五類

a類位址1.0.0.0~126.255.255.255;

b類位址128.0.0.0~191.255.255.255;

c類位址192.0.0.0~223.255.255.255;

d類位址224.0.0.0~239.255.255.255;

e類位址240.0.0.0~255.255.255.255

私網ip範圍是:

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255

192.168.0.0~192.168.255.255

子網掩碼為前面是連續的1,然後全是0

完整題目點這裡                 答案點這裡

72.座標移動

開發乙個座標計算工具, a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從(0,0)點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。

輸入:合法座標為a(或者d或者w或者s) + 數字(兩位以內)

座標之間以;分隔。

非法座標點需要進行丟棄。如aa10; a1a; $%$; yad; 等。

下面是乙個簡單的例子 如:

a10;s20;w10;d30;x;a1a;b10a11;;a10;

處理過程:

起點(0,0)

+ a10 = (-10,0)

+ s20 = (-10,-20)

+ w10 = (-10,-10)

+ d30 = (20,-10)

+ x = 無效

+ a1a = 無效

+ b10a11 = 無效

+ 乙個空 不影響

+ a10 = (10,-10)

結果 (10, -10)

完整題目點這裡                 答案點這裡

73.(練習用)挑7

輸出7有關數字的個數,包括7的倍數,還有包含7的數字(如17,27,37…70,71,72,73…)的個數

完整題目點這裡                 答案點這裡

74.名字的漂亮度

給出乙個名字,該名字有26個字串組成,定義這個字串的「漂亮度」是其所有字母「漂亮度」的總和。

每個字母都有乙個「漂亮度」,範圍在1到26之間。沒有任何兩個字母擁有相同的「漂亮度」。字母忽略大小寫。

給出多個名字,計算每個名字最大可能的「漂亮度」。

完整題目點這裡                 答案點這裡

75.整理

lily上課時使用字母數字教小朋友們學習英語單詞,每次都需要把這些按照大小(ascii碼值從小到大)排列收好。請大家給lily幫忙,通過c語言解決。

完整題目點這裡                 答案點這裡

76.字串最後乙個單詞的長度

計算字串最後乙個單詞的長度,單詞以空格隔開。

完整題目點這裡                 答案點這裡

華為oj系列(三)

華為oj系列(五)

華為OJ 合法IP

題目 現在ipv4下用乙個32位無符號整數來表示,一般用點分方式來顯示,點將ip位址分成4個部分,每個部分為8位,表示成乙個無符號整數 因此不需要用正號出現 如10.137.17.1,是我們非常熟悉的ip位址,乙個ip位址串中沒有空格出現 因為要表示成乙個32數字 現在需要你用程式來判斷ip是否合法...

華為oj 句子逆序

問題描述 將乙個英文語句以單詞為單位逆序排放。例如 i am a boy 逆序排放後為 boy a am i 所有單詞之間用乙個空格隔開,語句中除了英文本母外,不再包含其他字元 介面說明 反轉句子 param sentence 原句子 return 反轉後的句子 public string reve...

華為oj 單詞倒排

題目描述 對字串中的所有單詞進行倒排。說明 1 每個單詞是以26個大寫或小寫英文本母構成 2 非構成單詞的字元均視為單詞間隔符 3 要求倒排後的單詞間隔符以乙個空格表示 如果原字串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現乙個空格間隔符 4 每個單詞最長20個字母 樣例輸入 i am a s...