已知A,B为正整数,A〈B,A*B=2698,且要求A+B取最小值,求满足上述条件的B值
编程题
参考答案:void main()
{
int a, b;
for (a = 1; a < 52; a++)
{
if (2698 % a == 0)
{
b = 2698 / a;
}
}
printf ("b = %d\n", b);
}
这里没用到判断A+B最小,而是取了最后一个b值。因为a是递增的,而abs(a-b)越小a+b就越小(均值定理),所以最后一个b肯定满足a+b最小。
编程题
参考答案:void main()
{
int a, b;
for (a = 1; a < 52; a++)
{
if (2698 % a == 0)
{
b = 2698 / a;
}
}
printf ("b = %d\n", b);
}
这里没用到判断A+B最小,而是取了最后一个b值。因为a是递增的,而abs(a-b)越小a+b就越小(均值定理),所以最后一个b肯定满足a+b最小。