1048 數字加密

2021-09-28 18:08:49 字數 2978 閱讀 2535

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

輸入格式:

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

輸出格式:

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

輸入樣例1:

1234567 368782971
輸出樣例1:

3695q8118
總結:

題目的意思是:字串長度較少的需要補0 比如a:123456 b:123

則在作數字加減的時候,b需要補零 a:123456 b:000123

所以分三種情況:

1 a的長度比b的長度大

餘下的字元為a的字元,如果為偶數字,用 b 的數字減去 a 的數字,則要用 0減去a的數字 如果小於零 則+10

if

(a.size()

> b.

size()

)else

else

if(yushu ==11)

else

if(yushu ==12)

}}elseif(

(max_size - i)%2

==0&& max_size - i <= min_size)

char c = min +

'0';

s.push

(c);

}else

if(max_size - i > min_size)

char c=min+

'0';

s.push

(c);}}

}while

(!s.

empty()

)}

2 b的長度比a的長度大

餘下的字元為b的字元,直接進棧即可

else

if(a.

size()

< b.

size()

)else

else

if(yushu ==11)

else

if(yushu ==12)

}}elseif(

(max_size - i)%2

==0&& max_size - i <= min_size)

char c = min +

'0';

s.push

(c);

}else

if(max_size - i > min_size)

}while

(!s.

empty()

)}

3 a的長度與b的長度相等

else

else

else

if(yushu ==11)

else

if(yushu ==12)

}}elseif(

(max_size - i)%2

==0)char c = min +

'0';

s.push

(c);}}

while

(!s.

empty()

)}

ac**:

#include

#include

#include

#include

#include

#include

using

namespace std;

intmain()

else

else

if(yushu ==11)

else

if(yushu ==12)

}}elseif(

(max_size - i)%2

==0&& max_size - i <= min_size)

char c = min +

'0';

s.push

(c);

}else

if(max_size - i > min_size)

char c=min+

'0';

s.push

(c);}}

}while

(!s.

empty()

)}else

if(a.

size()

< b.

size()

)else

else

if(yushu ==11)

else

if(yushu ==12)

}}elseif(

(max_size - i)%2

==0&& max_size - i <= min_size)

char c = min +

'0';

s.push

(c);

}else

if(max_size - i > min_size)

}while

(!s.

empty()

)}else

else

else

if(yushu ==11)

else

if(yushu ==12)

}}elseif(

(max_size - i)%2

==0)char c = min +

'0';

s.push

(c);}}

while

(!s.

empty()

)}system

("pause");

return0;

}

1048 數字加密

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

1048 數字加密

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

1048 數字加密

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