PAT 1048 數字加密 C語言實現

2021-09-26 05:30:56 字數 866 閱讀 5831

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

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

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

1234567 368782971
3695q8118
#include#includeint main()

,b[105] = {};

scanf("%s %s",a,b);

int la = strlen(a),lb = strlen(b);

int index_a = la,index_b = lb;

int index = lb > la ? lb : la;

char resu[index+1];

resu[index] = '\0';

int mark = 0;

if(la >= lb)

index_b = index_a;

for(int i = la-1 ; i >= 0 ; i--)

}else //偶數字

}} else

}else //偶數字

}for(int i = lb - la -1 ; i >= 0 ; i--)

}printf("%s\n",resu);

return 0;

}

PAT 1048 數字加密

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

PAT 1048數字加密

include include include include using namespace std int main min alen for int i 0 i min i elseelse reverse b.begin b.end cout 有乙個坑就是,如果b比a短,需要補齊,在網上搜了...

PAT 1048 數字加密

題目連線 思路 首先,題目給出a與b均為不超過100位的,而int型顯然不夠這麼多位,肯定採用大數方法,即採用字串輸入,通過int型陣列倒序儲存。例如 輸入 1234567 這用string輸入每乙個均為char型,然後申請int型陣列倒序 即變為7654321 這裡的每一位是int型 可直接進行加...