華為機試練習題 4 簡單密碼破解

2021-07-03 13:04:26 字數 1303 閱讀 4141

題目

描述:

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

假設淵子原來乙個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哦。

題目類別: 字串

難度: 中級

執行時間限制: 10sec

記憶體限制: 128mbyte

階段: 入職前練習

輸入:

輸入包括多個測試資料。輸入是乙個明文,密碼長度不超過100個字元,輸入直到檔案結尾

輸出:

輸出淵子真正的密文

樣例輸入:

yuanzhi1987

樣例輸出:

zvbo9441987

**

/*---------------------------------------

* 日期:2015-06-28

* 題目:簡單密碼破解

-----------------------------------------*/

#include

#include

using

namespace

std;

string decode(string str)//if

string letter = "bcdefghijklmnopqrstuvwxyza";

string number = "22233344455566677778889999";

for(int i = 0;i < size;++i)//if

// 大寫字母

else

if(str[i] >= 'a' && str[i] <= 'z')//else

else

}//for

return result;

}int main()

華為機試練習題1

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

華為機試練習題 28 報數

題目 描述 有n個人圍成一圈,順序排號。從第乙個人開始報數 從1到3報數 凡報到3的人退出,問最後留下的那位是原來第幾號。題目類別 陣列,指標難度 初級執行時間限制 10sec記憶體限制 128mbyte階段 入職前練習輸入 使用標準輸入stdio.多行,每行一組資料。輸出 多行,每行對應求和結果。...

華為機試練習題 31 密碼驗證合格程式

題目 描述 密碼要求 1.長度超過8位 2.包括大小寫字母.數字.其它符號,以上四種至少三種 3.不能有相同長度超2的子串重複 說明 長度超過2的子串 題目類別 字串,陣列 難度 中級 執行時間限制 10sec 記憶體限制 128mbyte 階段 入職前練習 輸入 一組或多組長度超過2的子符串。每組...