小解C语言智力问题
c语言,C语言智力游戏解剖,有趣的C2016-08-04
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int main() { int a=0,b=0,c=0,d=0,e=0; for(a=1;a<=5;a++) { for(b=1;b<=5;b++) { for(c=1;c<=5;c++) { for(d=1;d<=5;d++) { for(e=1;e<=5;e++) { if(((b == 1)+(a == 3) == 1) && ((b == 2)+(e == 4) == 1) && ((c == 1)+(d == 2) == 1) && ((c == 5)+(d == 3) == 1) && ((e == 4)+(a == 1) == 1)) { printf("a=%d b=%d c=%d d=%d e=%d\n",a,b,c,d,e); } } } } } } system("pause"); return 0; }
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int main() { int tmp=0,flag=0; int a=0,b=0,c=0,d=0,e=0; for(a=1;a<=5;a++) { for(b=1;b<=5;b++) { for(c=1;c<=5;c++) { for(d=1;d<=5;d++) { for(e=1;e<=5;e++) { if(((b == 1)+(a == 3) == 1) && ((b == 2)+(e == 4) == 1) && ((c == 1)+(d == 2) == 1) && ((c == 5)+(d == 3) == 1) && ((e == 4)+(a == 1) == 1)) { tmp |= (1 << (a-1)); //是第几名就将对应的位置置为1 tmp |= (1 << (b-1)); tmp |= (1 << (c-1)); tmp |= (1 << (d-1)); tmp |= (1 << (e-1)); flag=0; while(tmp) { if(tmp%2 == 0) { flag=1; //低位没有连续的1 } tmp/=2; } if(flag == 0) printf("a=%d b=%d c=%d d=%d e=%d\n",a,b,c,d,e); } } } } } } system("pause"); return 0; }