PAT 1048 數字加密 20

2022-08-22 02:18:14 字數 1280 閱讀 4826

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

輸入格式:

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

輸出格式:

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

輸入樣例:

1234567 368782971
輸出樣例:

3695q8118

**寫的又多又冗餘,需注意的是,當b的長度小於a的長度時b需要前端補零,以及最後乙個測試點當b長度小於a長度時,a元素為零需要做特殊處理。

1 #include2 #include

3 #include4 #include5 #include6

intmain()

21 j = 0

;22 temp =lena;

23for(int i=lenb-lena;i)

29 b[i] = b[i]+'0'

;30}31

else

38else

if((b[i]-'

0'+a[j]-'

0')%13==12)41

}42else

4546

}47 j++;

48 printf("%c"

,b[i]);49}

50}

51else

60else63}

64 j = lena-lenb;

65 temp =lenb;

66for(int i=0;i)

72 b[i] = b[i]+'0'

;73}74

else

81else

if((b[i]-'

0'+a[j]-'

0')%13==12)84

}85else

8889

}90 j++;

91 printf("%c"

,b[i]);92}

93}9495 }

PAT 1048 數字加密 20

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

PAT1048 數字加密 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位。輸入...