華為oj 字串加解密

2021-07-09 12:14:42 字數 887 閱讀 2609

對英文本元,我們其實可以把它看成26進製,即對應0-25,這樣在加密的時候把算出的值對26取餘就可以了,但是要注意一下大小寫字母變換,舉個例子

小寫字母c,那麼c對應的值是『c』-'a'=2,加密時,2+1+『a』,就轉換成了加密後大寫字母,'d',但是到'z'會出現問題,轉換不到『a』,所以其對26取餘。

對於解密字串,就是減掉1,這同樣會有問題,即『a』的時候,具體怎麼轉換請看程式。

注意到這兩點其實就可以了,但是對於華為oj的「爛」,你需要注意的是輸出的格式,是每次都要換行。

其他不多說直接上**

#includeusing namespace std;

int main()

else if (instr1[i] >= 'a'&&instr1[i] <= 'z')//大寫字母

else if (instr1[i] >= '0'&&instr1[i] <= '9')//數字

}//字串解密

for (int i = 0; i= 'a'&&instr2[i] <= 'z')//小寫字母

else if (instr2[i] >= 'a'&&instr2[i] <= 'z')//大寫字母

else if (instr2[i] >= '0'&&instr2[i] <= '9')//數字

}cout << instr1 << endl;

cout << instr2 << endl;

return 0;

}

結論:英文本母看成26進製,有的時候也需要看成27進製(有的題目不一樣),注意思路轉

華為OJ 字串加解密

字串加解密 1 對輸入的字串進行加解密,並輸出。2加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a 時則替換為 b 字母 z時則替換為a 當內容是數字時則把該數字加1,如0 替換1,1 替換2,9 替換0 其他字元不做變化。3 解密方法為加密的逆過程。介面描...

華為OJ 字串加解密

述 題目描述 1 對輸入的字串進行加解密,並輸出。2加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。3 解密方法為加密的逆過程。介面描述 實現介...

華為OJ基礎篇 字串加解密

題目描述 1 對輸入的字串進行加解密,並輸出。2加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。3 解密方法為加密的逆過程。char jiam ...