【PAT乙級】1048 數字加密
題目連結:1048 數字加密
注意
- 這題思路並不複雜,比較坑的地方是如果原串沒有金鑰長,需要補位至一致位數。
- 輸出時不用管高位如果是0的問題。
- 過程我都寫在程式碼批註裡了。
程式碼
#include <iostream>
using namespace std;
int main(){
char c[13] = {'0','1','2','3','4','5','6','7','8','9','J','Q','K'};
string s1,s2,s3;
cin >> s1 >> s2;
for(int i=1;i<=s2.length()||i<=s1.length();i++){
int a = 0,b = s2[s2.length()-i] - '0';
if(i>s2.length()) b = 0;//s2提前結束,高位補0
if(i>s1.length()) a = b;//s1提前結束,直接輸出s2
else if(i % 2) a = (b + s1[s1.length()-i] - '0') % 13;//奇數位處理
else a = b - s1[s1.length()-i] + '0';//偶數位處理
s3.insert(0,1,c[a<0?a+10:a]);//插入結果到高位
}
cout << s3 << endl;
return 0;
}
相關文章
- PAT-B 1048 數字加密【字串】加密字串
- PAT1048數字加密(java實現)加密Java
- 1048 數字加密(字首和思想)加密
- PAT 乙級 1094 谷歌的招聘 (20分)---【素數 字串】谷歌字串
- 【PAT乙級、C++】1024 科學計數法 (20分)C++
- PAT乙級——1093(字串匹配)Java實現字串匹配Java
- PAT乙級比賽-互評成績計算
- PAT 2023 冬 乙 方格填數
- PAT乙級——1092(陣列排序 自定義sort)Java實現陣列排序Java
- 數字加密加密
- PAT乙級1026程式執行時間(秒數轉換為時間)(值得學習)
- PAT乙級1004 成績排名 (20分)(C語言版)及解析C語言
- PAT1044火星數字(java實現)Java
- PAT1019 數字黑洞(java實現)Java
- 加密與數字簽名加密
- PAT乙 1041 考試座位號 (15分)(C C++)C++
- PAT乙級1001 || 害死人不償命的(3n+1)猜想(C語言)C語言
- 2022年冬pat乙級考試題目及程式碼解析附部分錯誤原因
- Android 安全加密:數字簽名和數字證書Android加密
- Android安全加密:數字簽名和數字證書Android加密
- PAT-B 1019 數字黑洞【陣列+模擬】陣列
- 深入理解加密、解密、數字簽名和數字證書加密解密
- 安全基礎:數字信封、數字簽名、數字證書(加簽驗籤,加密解密)加密解密
- 非對稱加密和數字證書加密
- Java加密技術(八)——數字證照Java加密
- Java安全之對稱加密、非對稱加密、數字簽名Java加密
- 對稱加密、非對稱加密、RSA、訊息摘要、數字簽名、數字證書與HTTPS簡介加密HTTP
- PTA乙級_1024 科學計數法 (20分)_pythonPython
- PAT1013數素數C++C++
- ZOJ 1048 Financial ManagementNaN
- PAT甲級1023 Have Fun with Number
- PAT 甲級 1152 Google Recruitment (20分)GoUI
- java使用RSA加密方式,實現數字簽名Java加密
- 公鑰加密、數字簽名、訊息認證加密
- 基於混沌的數字影像加密演算法加密演算法
- RSA加密解密及數字簽名Java實現加密解密Java
- (PAT)使用函式判斷完全平方數函式
- PAT甲級考試題庫題目分類