一道正常简单题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; }
使用试探法,对每一组输入的数据进行试探,找出其用来的异或运算的大写字母,而后与输入密文进行异或进行输出。加密