Python - 一个测试n∈{2,3,...,10}的等式a ** n + b ** n = c ** n的函数

时间:2015-04-05 12:27:22

标签: python

这不是一个功课问题,我可以向你保证。

我正在尝试编写一个函数来测试等式a**n + b**n = c**n是否适用于

n∈{2,3,...,10}。 如果存在等于n的值n,则函数应返回最低值int。如果相等不适用于给定范围内的任何n值,则该函数应返回False

e.g。

 print(f(3,4,5))

输出:

2

print(f(1,2,3))

输出:

False

我很想看到这个问题的不同方法。我向你保证这不是一个功课问题。在此先感谢:)

1 个答案:

答案 0 :(得分:6)

由于Andrew Wiles解决了 Fermat的最后一个定理,并且证明了n > 2没有a ** n + b ** n == c ** n的整数解

,这很容易
def f(a, b, c):
    return 2 if a * a + b * b == c * c else False