1048 數字加密 20

2021-07-12 04:24:24 字數 1044 閱讀 1718

時間限制 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

我的思路是先把a和b翻轉一下, 這樣比較容易對齊, 然後在進行加密處理, 最後把加密的c翻轉回來就可以了,要 注意的問題是:a與b需要位數一致, 為此要進行補零處理

#include 

#include

#include

#include

#include

#include

using

namespace

std;

char a[101], b[101];

void reverse(char s)

} void solve()

else

int len = max(lena, lenb);

char c[101] = ;

char ch = "0123456789jqk";

for(int i = 0; i < len; i ++)

//對偶數字,用b的數字減去a的數字,若結果為負數,則再加10

else

}reverse(c);

cout

<< c << endl;

}int main()

1048 數字加密 20

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

1048 數字加密 20

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

1048 數字加密 20

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