另一种简单的思路:
将情侣的空间位置要求转换为
101 1001 10001 100001四个数各自左移,然后或运算得到11111111的要求。
#include <stdio.h>#define LOVERS_PAIR_1 (0b101)
#define LOVERS_PAIR_2 (0b1001)
#define LOVERS_PAIR_3 (0b10001)
#define LOVERS_PAIR_4 (0b100001)
#define LOVERS_PAIR_TARGET (0b11111111)
int main()
{
int x=0, y=0, z=0, t=0
unsigned char result=0
char order[8+1]={'\0'}
printf("符合:情侣Aa中间隔一个人,情侣Bb中间隔两个人,情侣Cc中间隔三个人,情侣Dd中间隔四个人的情况:\n")
for(x=0,result=0 x<6 x++)//x表示情侣Aa组合从右到左需空出的位置
{
result = LOVERS_PAIR_1<<x
for(y=0 y<5 y++)//y表示情侣Bb组合从右到左需空出的雹大位置
{
if (result&(LOVERS_PAIR_2<<y))
continue
result = result|(LOVERS_PAIR_2<<y)
for (z=0 z<4 z++)//z表示情侣Cc组合从右到左需空出的位置
{
if (result&(LOVERS_PAIR_3<<z))
continue
result = result|(LOVERS_PAIR_3<<z)
for(t=0 t<3 t++)//t表示情侣Dd组合从右到左需空出的位置
{
if (result&(LOVERS_PAIR_4<<t))
continue
result = result|(LOVERS_PAIR_4<<t)
穗肆脊 if (LOVERS_PAIR_TARGET==result)//找到了!转换后打印
{
order[8-x-1]='a'
order[8-(x+2)-1]='A'
order[8-y-1]='b'
order[8-(y+3)-1]='B'
猜渗 order[8-z-1]='c'
order[8-(z+4)-1]='C'
order[8-t-1]='d'
order[8-(t+5)-1]='D'
order[8]='\0'
printf("%s\n", order)
}
}
}
}
}
}
程序输出:
符合:情侣Aa中间隔一个人,情侣Bb中间隔两个人,情侣Cc中间隔三个人,情侣Dd中间隔四个人的情况:
DACaBdcb
能拆一对是一对啊 -.-!
哥们不要搞了,你搞不好的,相机不是电脑。你确实要祥茄唯这样可以把相机和电脑连接。给电脑做个小程序让电脑间隔1~2秒自动摄取5幅并储谨培存。要是你用的是卡片相机很难做纳型到的,因为他的反映比较慢,拍不了这么快。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)