1048 數字加密 20分

2021-10-02 18:49:33 字數 1180 閱讀 5400

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

輸入格式:

輸入在一行中依次給出 a 和 b,均為不超過 100 位的正整數,其間以空格分隔。

輸出格式:

在一行中輸出加密後的結果。

輸入樣例:

1234567 368782971

輸出樣例:

3695q8118

分析:字串處理

這個題是乙個很好的字串處理的題,只要能運用好字串的函式,解題很簡單。

除此之外:如果兩字串的長度不一樣,那麼要在兩字串逆轉之後,在短的字串末尾加補0補齊。

#include

#include

#include

using

namespace std;

intmain()

; string s1, s2, final, tmp, str;

cin >> s1 >> s2;

reverse

(s1.

begin()

, s1.

end())

;reverse

(s2.

begin()

, s2.

end())

;if(s1.

size()

< s2.

size()

) s1 +

=string

(s2.

size()

- s1.

size()

,'0');

else s2 +

=string

(s1.

size()

- s2.

size()

,'0');

for(

int i =

0; i < s1.

size()

; i++

) final.

insert(0

, tmp);}

cout

}

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 ...