#1
|
||||
|
||||
算四大湖大小以及bool的問題
網路有一個求四大湖排名的問題如下:
引用:
#include <iostream> using namespace std; int main(void){ int dt=0,hz=0,by=0,th=0; int a=0,b=0,c=0,d=0; //bool a=0,b=0,c=0,d=0;換成bool型態 for(dt=1;dt<=4;dt++){ for(hz=1;hz<=4;hz++){ for(by=1;by<=4;by++){ for(th=1;th<=4;th++) { //if((dt==by)||(dt==hz)||(dt==th)||(by==hz)||(by==th)||(hz==th)) continue; a=((dt==1)+(hz==4)+(by==3)); b=((hz==1)+(dt==4)+(by==2)+(th==3)); c=((hz==4)+(dt==3)); d=((by==1)+(th==4)+(hz==2)+(dt==3)); if((a*b*c*d==1)&&(dt!=by)&&(dt!=th)&&(dt!=hz)&&(by!=hz)&&(by!=th)&&(hz!=th)) { cout<<"DT is "<<dt<<" and BY is "<<by<<" and TH is "<<th<<" and HZ is "<<hz<<endl; } } } } } return 0; } 以上的方法確實可以得出一組解答,但怪的是,如果我把紅字的部份變成 bool 型態,則以上的方法會得出二組答案?為何會如此? thanks 先 |