思路:首先我们设三个变量abc来表示这3个数字,由题意可知,三个数的组合共有2*3种(a*100+b*10+c a*100+c*10+b b*100+a*10+c b*100+c*10+a c*100+a*10+b c*100+b*10+a)这6种组合的和==2886,整理可得 :222*a+222*b+222*c==2886 , 等式两边同除以222,得a+b+c==13,又因为abc每个数不会超过9可以用循环穷举abc从1到9,
还需要将abc三个数的大小确定,我们这里就规定a是最小的,c是最大的,则a*100+b*10+c+495 == c*100+b*10+a
代码:
#include <stdio.h>
main()
{
int a,b,c,i;
for (a=1;a<10;a++)
for (b=1;b<10;b++)
for (c=1;c<10;c++)
{
if (a+b+c==13&&
222*a+222*b+222*c==2886&&
a<b&&b<c&&a<c&&
(495+a*100+b*10+c==c*100+b*10+a))
{
printf("%d,%d,%d\n",a,b,c);
break;
}
}
}