PAT乙級B1048 數字加密 (20 分)

2021-09-10 15:50:45 字數 569 閱讀 7160

本題要求實現一種數字加密方法。首先固定乙個加密用正整數 a,對任一正整數 b,將其每 1 位數字與 a 的對應位置上的數字進行以下運算:對奇數字,對應位的數字相加後對 13 取餘——這裡用 j 代表 10、q 代表 11、k 代表 12;對偶數字,用 b 的數字減去 a 的數字,若結果為負數,則再加 10。這裡令個位為第 1 位。

輸入在一行中依次給出 a 和 b,均為不超過 100 位的正整數,其間以空格分隔。

在一行中輸出加密後的結果。

1234567 368782971
3695q8118
思路:注意如果兩個數字位數不同,需要讓較短的數字高位補零。由於數字太大,需要把數字用字串讀入,然後再反轉從第一位開始處理。

#include#include#include#includeusing namespace std;

int main()

else

} reverse(c.begin(),c.end());

cout

}

B1048 數字加密

include include includeusing namespace std const int maxn 110 char a maxn b maxn char ans maxn int main scanf s s a,b int lena strlen a int lenb strle...

B1048 數字加密

1048 數字加密 20 分 本題要求實現一種數字加密方法。首先固定乙個加密用正整數 a,對任一正整數 b,將其每 1 位數字與 a 的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對 13 取餘 這裡用 j 代表 10 q 代表 11 k 代表 12 對偶數字,用 b 的數字減去 a ...

B1048 數字加密

本題要求實現一種數字加密方法。首先固定乙個加密用正整數 a,對任一正整數 b,將其每 1 位數字與 a 的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對 13 取餘 這裡用 j 代表 10 q 代表 11 k 代表 12 對偶數字,用 b 的數字減去 a 的數字,若結果為負數,則再加 ...