c++
int 取出[9], 位数[3]{0, 0, 0}, 个数(999999999), 序(0), 幕(100), 取;
do
{/*这里只设计按顺序截取3个3位数的算法,按我对题目所理解的,每人理解好像不同耶!?*/
取 = 个数;
do
{
取出[序++] = 取 % 10;
} while (取 /= 10);
if (取出[0] != 取出[1] && 取出[1] != 取出[2] && 取出[0] != 取出[2])
if (取出[3] != 取出[4] && 取出[4] != 取出[5] && 取出[3] != 取出[5])
if (取出[6] != 取出[7] && 取出[7] != 取出[8] && 取出[6] != 取出[8])
{
序 = 2;
do
{
位数[0] += 取出[序] * 幕;
位数[1] += 取出[序 + 3] * 幕;
位数[2] += 取出[序 + 6] * 幕;
幕 /= 10;
if (!幕) 幕 = 1;
} while (序--);
if (位数[0] != 位数[1] && 位数[0] != 位数[2] && 位数[1] != 位数[2])
{
if (位数[0] + 位数[1] == 位数[2])if (位数[0] >= 100 && 位数[1] >= 100)
printf_s("%d+%d=%d->%d\n", 位数[0], 位数[1], 位数[2], 个数);
if (位数[2] + 位数[1] == 位数[0])if (位数[2] >= 100 && 位数[1] >= 100)
printf_s("%d+%d=%d->%d\n", 位数[2], 位数[1], 位数[0], 个数);
if (位数[0] + 位数[2] == 位数[1]) if (位数[0] >= 100 && 位数[2] >= 100)
printf_s("%d+%d=%d->%d\n", 位数[0], 位数[2], 位数[1], 个数);
}
}
序 = 0; 幕 = 100; 位数[0] = 位数[1] = 位数[2] = 0;
} while (个数-- > 100000000);