時間限制
400 ms
記憶體限制
65536 kb
**長度限制
8000 b
判題程式
standard
作者 chen, yue
本題要求實現一種數字加密方法。首先固定乙個加密用正整數a,對任一正整數b,將其每1位數字與a的對應位置上的數字進行以下運算:對奇數字,對應位的數字相加後對13取餘——這裡用j代表10、q代表11、k代表12;對偶數字,用b的數字減去a的數字,若結果為負數,則再加10。這裡令個位為第1位。
輸入格式:
輸入在一行中依次給出a和b,均為不超過100位的正整數,其間以空格分隔。
輸出格式:
在一行中輸出加密後的結果。
輸入樣例:
1234567 368782971輸出樣例:
3695q8118
題目還是挺好懂的,第一次提交沒ac,思考之後發現是這個問題:
如果字串a比b長度短,那麼a的前面要補上0;如果b的長度短,那麼b的前面要補上0。然後再用0按題目要求計算,這樣就ac了。
第一次沒ac是我單純的以為某個字串長度短,那就把另乙個多餘的部分輸出就行了。
注意是從個位開始計算,所以從尾部遍歷兩個字串
#include #include using namespace std;
int main()
else
if( i > len_b )
else
if( i % 2 == 1 )
else }}
if( i % 2 == 0 )
c[i] = num + '0';}}
//倒序輸出
for( i--; i >= 1; i-- )
return 0;
}
PATB 1048 數字加密(20 分)
思路分析 1 把字串轉換為int型陣列 num 0 儲存個位,逆向儲存 構造乙個轉換函式,依次呼叫 2 將陣列內的數字按個位為第一位的順利按規定奇偶規則處理,得到字串 3 輸出 注意 len1 a字串長度 大於len2 b字串長度 時自動補零 個位為第一位 include stdio.h inclu...
PAT B 1048 數字加密 (20 分)
本題要求實現一種數字加密方法。首先固定乙個加密用正整數 a,對任一正整數 b,將其每 1 位數字與 a 的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對 13 取餘 這裡用 j 代表 10 q 代表 11 k 代表 12 對偶數字,用 b 的數字減去 a 的數字,若結果為負數,則再加 ...
PAT B1048 數字加密 20 分
本題要求實現一種數字加密方法。首先固定乙個加密用正整數 a,對任一正整數 b,將其每 1 位數字與 a 的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對 13 取餘 這裡用 j 代表 10 q 代表 11 k 代表 12 對偶數字,用 b 的數字減去 a 的數字,若結果為負數,則再加 ...