/*【问题】 将A、B、C、D、E、F这六个变量排成如图所示的三角形,这六个变量分别取[1,6]上的整数,且均不相同。求使三角形三条边上的变量之和相等的全部解。如图就是一个解。 |
程序引入变量a、b、c、d、e、f,并让它们分别顺序取1至6的证书,在它们互不相同的条件下,测试由它们排成的如图所示的三角形三条边上的变量之和是否相等,如相等即为一种满足要求的排列,把它们输出。当这些变量取尽所有的组合后,程序就可得到全部可能的解。 |
*/ |
void main() |
{ int a,b,c,d,e,f; |
for ( a=1; a<=6; a++ ) |
for ( b=1; b<=6; b++ ) |
{ |
if ( b==a ) continue ; |
for ( c=1; c<=6; c++ ) |
{ |
if ( c==a ) || ( c==b ) continue ; |
for ( d=1; d<=6; d++ ) |
{ |
if ( d==a ) || ( d==b ) || ( d==c ) continue ; |
for ( e=1; e<=6; e++ ) |
{ |
if ( e==a ) || ( e==b ) || ( e==c ) || ( e==d ) continue ; |
f=21- ( a+b+c+d+e ); |
if ( ( a+b+c==c+d+e ) ) && ( a+b+c==e+f+a ) ) |
{ |
printf ( “%6d,a ); |
printf ( “%4d%4d”,b,f ); |
printf ( “%2d%4d%4d”,c,d,e ); |
scanf ( “%*c” ); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |