本題要求實現一種數字加密方法。首先固定乙個加密用正整數 a,對任一正整數 b,將其每 1 位數字與 a 的對應位置上的數字進行以下運算:對奇數字,對應位的數字相加後對 13 取餘——這裡用 j 代表 10、q 代表 11、k 代表 12;對偶數字,用 b 的數字減去 a 的數字,若結果為負數,則再加 10。這裡令個位為第 1 位。
輸入在一行中依次給出 a 和 b,均為不超過 100 位的正整數,其間以空格分隔。
在一行中輸出加密後的結果。
1234567 368782971
3695q8118
#include
#include
#include
#include
using namespace std;
int main() ;
cin >> a >> b;
int lena= a.size(), lenb= b.size();
int min = lenb - lena;
if (min < 0) min = 0 - min;//取兩個數的差
int len;
if (lena > lenb)
len = lena;
else len = lenb;
for (int i = 0; i < len; i++)
if ((i + 1) % 2 == 0)//偶數字
cout << minus;
}//當a的長度大時
if (lena % 2 == 0)
if ((i + 1) % 2 == 1)//偶數字
cout << minus;}}
else
if ((i + 1) % 2 == 0)//偶數字
cout << minus;
}//當a的長度大時
if (lena % 2 == 0)
if ((i + 1) % 2 == 1)//偶數字
cout << minus;
}}//a的長度大
}if (lena < lenb)
if ((i + 1) % 2 == 0)//偶數字
cout << minus;
}//當a的長度大時
if (lenb % 2 == 0)
if ((i + 1) % 2 == 1)//偶數字
cout << minus;}}
}}//b的長度大
}
PTA 乙級1048數字加密
本題要求實現一種數字加密方法。首先固定乙個加密用正整數 a,對任一正整數 b,將其每 1 位數字與 a 的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對 13 取餘 這裡用 j 代表 10 q 代表 11 k 代表 12 對偶數字,用 b 的數字減去 a 的數字,若結果為負數,則再加 ...
PTA 數字加密 思路 題解
本題要求實現一種數字加密方法。首先固定乙個加密用正整數 a,對任一正整數 b,將其每 1 位數字與 a 的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對 13 取餘 這裡用 j 代表 10 q 代表 11 k 代表 12 對偶數字,用 b 的數字減去 a 的數字,若結果為負數,則再加 ...
PTA 7 1 數字加密
輸入乙個四位數,將其加密後輸出。方法是將該數每一位上的數字加9,然後除以10取餘,做為該位上的新數字,最後將千位和十位上的數字互換,百位和個位上的數字互換,組成加密後的新四位數。例如輸入1257,經過加9取餘後得到新數字0146,再經過兩次換位後得到4601。輸入格式 輸入在一行中給出乙個四位的整數...