找肖像

数学家斯摩林将莎士比亚的名剧《威尼斯商人》取出一段编成一道趣味数学题:这里有三个盒子,一只金盒,一只银盒,一只铅盒。她的肖像放在其中一个盒子内,三只盒子上各写了一句话。只有一句是真的。盒子以及所写语句如图所示:
金盒上写的是肖像在此盒内。
银盒上写的是肖像不在此盒内。
铅盒上写的是肖像不在金盒内。
请根据上述判断盒子在哪个里面??


解法:用a,b,c分别代表金盒,银盒,铅盒。取1时盒上的话为真。取0时盒子上的话为假。s用来表示三个之和,为1时才有可能。

#include
void main(){
 int a,b,c;
 int s;
 for(a=1;a>=0;a--)
  for(b=1;b>=0;b--)
   for(c=1;c>=0;c--)
   {
    s=a+b+c;
    if(s==1)
     if(a==1)
      if(b==1)
       if(c==0)
        cout<        if(s==1)
        if(b==1)
         if(a+c==1)
          cout<<" "<          if(s==1)
          if(c==1)
           if(a==0)
           {
            if(b==1)
             cout<             if(b==0)
             cout<            }
   }
}

你可能感兴趣的:(算法)