本題要求實現一種數字加密方法。首先固定乙個加密用正整數a,對任一正整數b,將其每1位數字與a的對應位置上的數字進行以下運算:對奇數字,對應位的數字相加後對13取餘——這裡用j代表10、q代表11、k代表12;對偶數字,用b的數字減去a的數字,若結果為負數,則再加10。這裡令個位為第1位。
輸入格式:
輸入在一行中依次給出a和b,均為不超過100位的正整數,其間以空格分隔。
輸出格式:
在一行中輸出加密後的結果。
輸入樣例:
1234567 368782971輸出樣例:
3695q8118
不知道有沒有朋友遇到我掉的這個坑,它的判斷奇偶數的下表是從右邊開始的,我從左邊數一直有大約一半的測試點通不過,原來是奇數測試資料時是對的偶數個時候就不對了||--||成功避開b串短於a串和a串短於b串的坑,沒想到陷入了這個清奇的大坑。
#include #include #include using namespace std;
void trans(char *s,int n,int a,int b,bool f)
else
int i=0;
int result[102];
while(i=13)
} else
} i++;
} for(int i=0;i=0&&result[i]<=9)
else if(result[i]==10)
else if(result[i]==11)
else if(result[i]==12)
} return 0;
}
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型 可直接進行加...
PAT 1048 數字加密
本題要求實現一種數字加密方法。首先固定乙個加密用正整數a,對任一正整數b,將其每1位數字與a的對應位置上的數字進行以下運算 對奇數字,對應位的數字相加後對13取餘 這裡用j代表10 q代表11 k代表12 對偶數字,用b的數字減去a的數字,若結果為負數,則再加10。這裡令個位為第1位。輸入格式 輸入...