PAT1048 數字加密 20

2021-07-31 12:49:58 字數 975 閱讀 7911

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

輸入格式:

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

輸出格式:

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

輸入樣例:

1234567 368782971
輸出樣例:

3695q8118

題目顯然並不是很難,也是屬於細心題,題目給的樣例是b長度大於a長度的情況,如果只考慮這種只有12分,b長度小於a長度後,由於需要用b中的數減a中的數,這就需要在b不足的位置補上0 ,也就是前面補上0.

反正總的思路就是判斷哪個長,然後判斷的方法其實差不多。

下面是ac**

#include #include #include int main()

,b[101] = ,c[101] = ;

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

int lena = strlen(a);

int lenb = strlen(b);

int len = lena > lenb ? lena : lenb;

int abig = 0;

if(lena > lenb)

abig = 1;

int i;

int tmp;

if(abig == 0)

}for(i=0;i=0;i--)

for(i=0;i<(lena-lenb);i++)

for(i=len-1;i>=0;i--)}}

printf("%s",c);

return 0;

}

PAT 1048 數字加密 20

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

PAT 1048 數字加密 20

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

PAT 1048 數字加密 20

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