1048 數字加密 20

2021-10-25 08:43:59 字數 841 閱讀 3744

原題:

思路: 首先我必須隆重說一下卡了我好幾個小時的弱智錯誤, 題目中說

令個位為第1位, 大家注意各位在字串裡是最後1位, 我tm一直以為

左邊第一位是個位, 浪費不少時間.

如果做此題你在想法設法, 把輸入搞成補零對齊, 恭喜你思路和我一開始的

一樣, 後來我參考了oliverlew大神的做法, 發現並不需要這樣做.

下面的**最核心只有2句話:

i + lena - lenmax(lenmax - i) % 2 == 0

第1句話神奇的把字串a和b正確對應到正確位置

第2句話, 幫助我們如何在已知最低位(各位)是奇數的情況下, 確定

其它位的奇偶性.

由於我一開始, 對奇偶位置的理解有誤, 我有意沒有用字串

下標0的位置, 事實上不用這麼做

實現:

#include #include #define len 110

void encrypt (char cha, char chb, int mode);

int main (void) else

encrypt(a, b, mode);

}return 0;

}// mode=0, 偶數模式

// mode=1, 奇數模式

void encrypt (char cha, char chb, int mode)

if (mode == 0)

}

參考: oliverlew,

1048 數字加密 20

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

1048 數字加密 20

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 本題要求實現一種數字加密方法。首先固定乙個加密用正整數a,對任一正整數b,將其每1位數字與a的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對13取餘 這裡用...

1048 數字加密 20

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