Python100例--003

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
方法一:

# -*- coding:utf-8 -*-
for i in range ( 1,85):
    if 168 % i == 0:
        j = 168 / i
        if i>j:
            m = (i+j)/2
            n = (i-j)/2
            if m*m - 268 == n*n -100 and (n*n -100) % 1 == 0:
                x =m*m-268
                print u"符合条件的整数有:",x

方法二:

#X1=N*2-100的合集
x1 = map(lambda i:i**2-100,range(1,100))
#X2=M*2-100-168的合集
x2 = map(lambda i:i**2-100-168,range(1,100))
#两个合集求并集结果
print(set(list(x1)) & set(list(x2)))

方法三:

for m in range(168):
    for n in range(m):
        if (m+n)*(m-n)==168:
            x=n**2-100
            print u"符合条件的整数有:",x

你可能感兴趣的:(Python100例--003)