可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。
从 3 和 4 推导可知道,i 与 j 均是大于等于 2 的偶数。
由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1。
接下来将 i 的所有数字循环计算即可。
源码
for i inrange(1,85):if168% i ==0:#判断 i 是否为偶数,不是偶数则直接跳过
j =168/ i;#得到 jif i > j and(i + j)%2==0and(i - j)%2==0:#判断i和j是否符合该表达式
m =(i + j)/2
n =(i - j)/2
x = n * n -100print(x)