這裏的題目就抽取《編程之美》的,原體描述如下:
我給每個位置定位如下:
我的簡單解決方法如下:滿足只使用一個變量的:
注:(1,2)合法,(1,4)不合法,及將與帥不能照面
#include<iostream> using std::cout; using std::endl; int main(){ int grid = 1; for(; grid<=9; grid++){ if(grid%3!=1%3) cout<<"["<<grid<<","<<1<<"] "; if(grid%3!=2%3) cout<<"["<<grid<<","<<2<<"] "; if(grid%3!=3%3) cout<<"["<<grid<<","<<3<<"] "; if(grid%3!=4%3) cout<<"["<<grid<<","<<4<<"] "; if(grid%3!=5%3) cout<<"["<<grid<<","<<5<<"] "; if(grid%3!=6%3) cout<<"["<<grid<<","<<6<<"] "; if(grid%3!=7%3) cout<<"["<<grid<<","<<7<<"] "; if(grid%3!=8%3) cout<<"["<<grid<<","<<8<<"] "; if(grid%3!=9%3) cout<<"["<<grid<<","<<9<<"] "; cout<<endl; } return 0; }
運行結果如下:
不過,這樣就學不了用一個字節代表8位的方式來存儲數據的方法了。本來也是想着位運算的,想着想着就變成了普通的一個int來表示了。