1048 數字加密 20分

2022-09-01 20:15:13 字數 923 閱讀 5267

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

輸入格式

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

輸出格式

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

輸入樣例:

1234567 368782971
輸出樣例:

3695q8118
輸入兩個字串,如果加密用數a長度大於b,需要再b前面補0;加密過程中從後往前,用k表示當前是奇數字還是偶數字,將計算結果儲存在re陣列裡邊,用r表示re得位數

如果加密用數a長度小於b,則只對b的後strlen(a)位加密,比a長的原封不動放到re裡邊,樣例就是這種情況

然後根據事先準備好的p字串p,輸出p[re[i]],即可

#include#include#include#includeusing namespace std;

char p = "0123456789jqk";

int main()else

k ++;

i --;

}int j = len2 - len1;

while(j > 0) re[r++] = s2[--j] - '0';//b長的部分直接搬過來

for(int i = r-1 ; i >= 0 ; i--)

}

1048 數字加密(20 分)

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

1048 數字加密(20 分)

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

1048 數字加密 (20 分)

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