以下是引用九转星河在2018-6-30 12:27:33的发言:
是的,如果这样就到此为止我感觉还挺浪费的~
我还打算变通一下如果最后条件(y&z)==2050这个条件改成(y|z)==720171那是否还有类似的解法呢?
应该有的,看上去就像求并集和差集那样,我也在想,要么一起来试一下
~
找到方法了,要经过一系列转换才行具体代码如下,求得z=666666
~
程序代码:
#include<stdio.h>
int main( void )
{
const unsigned xAy=4352;
const unsigned xOy=55647;
const unsigned xAz=8;
const unsigned xOz=671102;
const unsigned yOz=720171;
const unsigned xOyOz=xOy|xOz;
const unsigned xOzAyOz=xOz&yOz;
const unsigned single_y=xOyOz&~(xOz);
const unsigned single_z=xOyOz&~(xOy);
const unsigned yAz=(yOz&~(single_y|single_z|xAy|xAz));
const unsigned z=single_z|xAz|yAz;
printf("%u\n",z);
return 0;
}
[此贴子已经被作者于2018-6-30 14:45编辑过]