【发布时间】:2013-05-24 03:48:56
【问题描述】:
(顺便说一句,我们还没有使用数组。我在我的循环章节中)
我需要编写一个 Java 程序,它会输出所有正整数对 (a,b),使得 a 和 b 大于或等于 0 且小于或等于 1000 以及比率 (a^2 + b^2 + 1) / (a*b) 是一个整数。
我的方法是做一个嵌套循环
for (a = 0; a <= 1000; a++)
for (b = 0; b <= 1000; b++)
{
//answer = a^2 + b^2 + 1 / (a*b)
//if (answer % 1 == 0)
// System.out.println("(" + a + ", " + b + ")")
}
这样会正常工作还是我看这个问题都错了
【问题讨论】:
-
您应该使用
if( (a*a + b*b + 1) % (a*b) == 0 )来查看a²+b²+1 是否可以被ab 整除。立即使用%适用于所有数字类型。由于整数除法,您当前的方法仅适用于浮点类型(float和double)。将int除以int将得到int。
标签: java loops for-loop nested nested-loops