PAT乙級1048 數字加密 20

2021-08-07 14:47:17 字數 715 閱讀 8871

題目:

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

輸入格式:

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

輸出格式:

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

輸入樣例:

1234567 368782971
輸出樣例:
3695q8118
思路:
1. 首先把短的數字補齊,然後按要求計算;
2. 注意如果開始先把字串反轉則只需要補齊b,a不影響計算;
3. 但如果不反轉則都要補齊,原因是在本例中用到了a[l1-i-1]和a[l1-i-1]這樣的計算,補不齊無法用統一形式表達多種情況。
#include#includeusing namespace std;

int main() ;

int l1, l2, l, i, m, d;

l1 = a.length();

l2 = b.length();

if (l2 < l1) {

d = l1 - l2;

for (i=0; i

PAT乙級 1048 數字加密 20

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

PAT 乙級 1048 數字加密 20

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 本題要求實現一種數字加密方法。首先固定乙個加密用正整數a,對任一正整數b,將其每1位數字與a的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對13取餘 這裡用...

PAT乙級 1048 數字加密 20

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 本題要求實現一種數字加密方法。首先固定乙個加密用正整數a,對任一正整數b,將其每1位數字與a的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對13取餘 這裡用...