题目
用1-9组成三个3位的平方数 将1,2,3,4,5,6,7,8,9,九个数字分成三组,每个数字只能用一次,既每组三个数,不允许有重复数字,也不许同其它组的三个数字重复,要求每组中的三位数都组成一个平方数.
解答:
main() { int flag[10]={0},i,i1,i2,t=0,c,a,j;
for(i=10;i<32;i++) for(i1=10;i1<32;i1++) if(i1>i) for(i2=10;i2<32;i2++) if(i2>i1&&i2>i) { c=i*i; while(c){a=c%10;c/=10;flag[a]=a;} c=i1*i1; while(c){a=c%10;c/=10;flag[a]=a;} c=i2*i2; while(c){a=c%10;c/=10;flag[a]=a;} for(j=1;j<10;j++) {if (flag[j]!=0)t++; flag[j]=0; } if (t==9)printf("%d %d %d %d %d %d\n",i,i1,i2,i*i,i1*i1,i2*i2); t=0; } }
嗯,看了几天还是不明白~~~~我高兴得太早啦~~~高手帮忙写一下注解好吗?谢谢