#include <stdio.h>
int MaxDiv(int, int);
int MaxDiv(int m, int n)
{
if (m == 0 || n == 0)
{
printf("有数字为0\n");
return -1;
}
int max, min, temp;
max = m > n ? m : n;
min = m < n ? m : n;
while (max % min)
{
temp = max % min;
max = min;
min = temp;
}
return min;
}
main()
{
int i, j, a, b, c, d, num = 1, den = 1;
double x, y;
for (i = 11; i < 100; i++)
{
for (j = i + 1; j < 100; j++)
{
a = i % 10;
b = i / 10;
c = j % 10;
d = j / 10;
if (a == 0 || b == 0 || c == 0 || d == 0)
{
continue;
}
if (a == c)
{
x = (double)b / d;
y = (double)i / j;
if (x == y)
{
num *= i;
den *= j;
printf("%d / %d\n", i, j);
}
}
if (a == d)
{
x = (double)b / c;
y = (double)i / j;
if (x == y)
{
num *= i;
den *= j;
printf("%d / %d\n", i, j);
}
}
if (b == c)
{
x = (double)a / d;
y = (double)i / j;
if (x == y)
{
num *= i;
den *= j;
printf("%d / %d\n", i, j);
}
}
if (b == d)
{
x = (double)a / c;
y = (double)i / j;
if (x == y)
{
num *= i;
den *= j;
printf("%d / %d\n", i, j);
}
}
}
}
i = MaxDiv(num, den);
printf("%d\n", den / i);
}
答案为:
16 / 64
19 / 95
26 / 65
49 / 98
100 |