本題要求實現一種數字加密方法。首先固定乙個加密用正整數 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 ...