以下是引用BlueGuy在2010-9-24 11:16:22的发言:
我本想在那个帖子里回复你一次的, 想想还是算了,
以下是引用真我在2010-9-23 22:42:55的发言:
/*******************************/
不带你这样玩的,这样更累
你都不懂就乱评价!
程序代码:
#define PIG_NUMBER_ONE(a,b,c) printf("%d%d%d\n",a,b,c);
#define PIG_NUMBER_TWO(a,b,c) PIG_NUMBER_ONE(a,b,c)\
PIG_NUMBER_ONE(a,c,b)\
PIG_NUMBER_ONE(b,a,c)\
PIG_NUMBER_ONE(b,c,a)\
PIG_NUMBER_ONE(c,b,a)\
PIG_NUMBER_ONE(c,a,b)
#define PIG_NUMBER_THREE(a,b) PIG_NUMBER_ONE(a,a,b)\
PIG_NUMBER_ONE(a,b,a)\
PIG_NUMBER_ONE(b,a,a)
int main(){
for(unsigned int a=0;a<10;a++){
if(a==3)
continue;
for(unsigned int b=a;b<10;b++){
if(b==3&&b==0)
continue;
if((a+b)%3==0){
PIG_NUMBER_TWO(3,b,a)
}
}
}
PIG_NUMBER_THREE(0,3)
PIG_NUMBER_THREE(3,6)
PIG_NUMBER_THREE(3,9)
PIG_NUMBER_ONE(3,3,3)
return 0;
}
你这代码也够漂亮的,
我知道你是贬低的意思!你没必要说的这么隐晦!
最效率的办法,就是像模板特化一样,将所有的情况枚举出来,展开!
就像你说的,个人的理解不同,
我不过是仿效windowsx.h里面的枚举消息宏展开而已