PAT B 1048 數字加密 20

2021-07-15 13:13:40 字數 1000 閱讀 7297

時間限制

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 的數字,若結果為負數,則再加 ...