//左旋2个
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int find(char* a, char* b){
char tmp[256] = { 0 };
strcpy(tmp, a);
strcat(tmp, a);
return strstr(tmp,b) ? 1 : 0;
}
int main2(){
char a[] = “ABCDEF”;
char b[] = “EFABCD”;
printf("%d", find(a,b));
system(“pause”);
return 0;
}
//寻找不同
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void findnum(int a,int n, int pnum1, int* pnum2){
int i = 0;
int sum = 0;
int num1 = 0, num2 = 0;
for (i = 0; i < n; ++i){
sum ^= a[i];
}
int pos = 0;
for (pos; !(sum&(1 << pos)); ++pos);
for (i = 0; i < n; ++i){
if (a[i] & (1 << pos)){
num1 ^= a[i];
}
else{
num2 ^= a[i];
}
}
*pnum1 = num1;
*pnum2 = num2;
}
int main9(){
int a[] = {12,12,3,4,3,4,5,6};
int num1, num2;
findnum(a, sizeof(a) / sizeof(a[0]), &num1, &num2);
printf("%d,%d\n", num1, num2);
system(“pause”);
return 0;
}