原文章
:https://blog.csdn.net/zzz594884756/article/details/81808111
第一题:答案只有一个:17、4、68、25、93
C语言写法:日后将改善
#include<iostream>
int fun(int i, int j, int t, int x, int f)
{
int buf[9] = { 0 };
buf[0] = i / 10;
buf[1] = i - buf[0] * 10;
buf[2] = j;
buf[3] = t / 10;
buf[4] = t - buf[3] * 10;
buf[5] = x / 10;
buf[6] = x - buf[5] * 10;
buf[7] = f / 10;
buf[8] = f - buf[7] * 10;
for (int m = 0; m < 9; m++)
{
if (buf[m] == 0)
{
return 0;
}
for (int n = m+1; n < 9; n++)
{
if (buf[m] == buf[n])
{
return 0;
}
}
}
return 1;
}
int main()
{
for (int a = 11; a < 99; a++)
{
for (int b = 1; b < 10; b++)
{
int c = a * b;
for (int d = 11; d < 99; d++)
{
int e = c + d;
if (1== fun(a, b, c, d, e)&&e<100)
{
printf("%d %d %d %d %d\n", a, b, c, d, e);
}
}
}
}
system("pause");
}
难点在于把判断9个数字中没有0且各不相等,想过先用冒泡排序整理,然后判断第一个不为0就行了,但本文先用另一种方法