一道正常簡單題php
作這題的時候看了好久沒有看懂是什麼意思,最後覺得是一道單獨的數學題把B這個大寫字母猜出來進行異或運算,還不知道C裏面異或運算能夠直接有符號的:),致使又去學習了一下十進制轉換成二進制(是的,這個都忘記了)。最後仍是沒有解出來,看題解以後本身打了一遍。函數
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include<ctype.h> int main() { int num[10000],i,j,n,x; while(scanf("%d",&n)!=EOF) { for(i=1;i<=n;i++) { scanf("%d",&num[i]); } //對A~Z裏的全部的數字進行試探,判斷是否爲加密的那個大寫字母。 for(i=0;i<26;i++) { for(j=1;j<=n;j++) { if(!isupper(('A'+i)^num[j])) { break; } } if(j==n+1) { x='A'+i; break; } } for(i=1;i<=n;i++) { printf("%c",x^num[i]); } printf("\n"); } return 0; }
使用試探法,對每一組輸入的數據進行試探,找出其用來的異或運算的大寫字母,而後與輸入密文進行異或進行輸出。加密