中国象棋将帅问题

来源:互联网 发布:php原生调用存储过程 编辑:程序博客网 时间:2024/04/19 21:55

Beauty of Programming中的一道题

原题:象棋中不允许将帅直接面对面,求所有将帅位置的可能性。(只允许用一个变量)

解答:


struct A{    unsigned char a:4;    unsigned char b:4;};A i;for(i.a=1;i.a<=9;i.a++){    for(i.b=1;i.b<=9;i.b++)    {        if(i.a%3 != i.b%3)            cout<<"将:"<<i.a<<",帅:"<<i.b<<endl;    }}

个人总结:可以充分考虑用变量的位来表示,这样不但可以节省内存空间,对提高效率也有帮助。
原创粉丝点击