猜球

 現有紅、黃、黑、白色球各一個,ios

放置在一個內編號一、二、三、4四個盒子中,每一個盒子放置一球,  它們的位置未知。
    小李、小張和小劉的猜想以下:
c++

小李認爲黑球編號1,黃球編號2;ide

小張認爲黑球編號2,白球編號3;spa

小劉認爲紅球編號2,白球編號4。  結果代表他們各猜對了一半。
    據他們的猜想肯定四個色球在哪一個盒子?code

 

 

 

分析:  blog

關鍵是「如何表示每一個人只說對了一個」,也就是說「一個表達式爲真,另外一個爲假」。 io

 

方法1:相與爲假,&&       相或爲真  ||event

方法2:兩個關係表達式的  和爲1 class

方法3:兩個關係表達式     不相等stream

 

 

 

nclude <iostream>
using namespace std;
int main( )
{     int a,b,c,d;
      for (a=1;a<=4;a++)
           for (b=1; b<=4; b++)
          for (c=1; c<=4; c++)
                 {     d=10-a-b-c;
                        if (   (c==1)!=(b==2) && (a==2)!=(d==3) 
                            && (a==2)!=(d==4)  && a!=b && a!=c
                            && a!=d && b!=c && b!=d && c!=d   )
                 printf("%d,%d,%d,%d\n",a,b,c,d); 
            } 
   system("pause");    return 1;
}
View Code

 

相關文章
相關標籤/搜索