Description
给定两个整数n和m,计算整数对(a,b)的数量,使得0<a<b<n且(a^2+b^2+m)/(a*b)
是整数。
Input
有多行输入,每行两个数n
(n>0),m
(m>0),空格分隔。输入0 0
表示输入结束。
Output
满足条件的整数对(a,b)的数量,一行一个。
其余要求同首题。
Sample Input
10 1
20 3
30 4
Sample Output
2
4
5
Reference code
'''
def check(a,b,m):
x=(a**2+b**2+m)/(a*b)
return x-int(x)<0.00001
'''
while True:
n,m=list(map(int,input().split()))
if n==0:break
'''
t=0
for a in range(1,n-1):
for b in range(a+1,n):
if check(a,b,m):
t+=1
print(t)
'''
print(sum(1 for a in range(1,n-1) for b in range(a+1,n) if (a**2+b**2+m)%(a*b)==0))