供参考:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j, x, y, n, xx = -1, yy = -1, rs = 1e5 + 10, zx = 0, zy = 0;
scanf("%d%d%d", &x, &y, &n);
for (i = 1; i < n; i++) {
j = n - i;
if (x % i != 0 || y % j != 0)
continue;
int xi = x / i, yj = y / j;
if (xi == 1 || yj == 1)
continue;
if (abs(xi - yj) < rs) {
xx = xi;
yy = yj;
zx = i;
zy = j;
rs = abs(xi - yj);
}
}
if (xx != -1)
printf("%d %d", zx, zy);
else
printf("No Solution");
return 0;
}
【相关推荐】
-----------------------------------------------------------------------------------------------------------------
请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。