这不是一个功课问题,我可以向你保证.
我正在尝试编写一个测试相等性是否a**n + b**n = c**n 成立的函数
n∈{2,3,...,10}.如果存在等于n的值n,则函数应返回最低值,如a int.False如果相等不适用于给定范围内的任何n值,则该函数应返回.
例如
print(f(3,4,5))
Run Code Online (Sandbox Code Playgroud)
输出:
2
Run Code Online (Sandbox Code Playgroud)
和
print(f(1,2,3))
Run Code Online (Sandbox Code Playgroud)
输出:
False
Run Code Online (Sandbox Code Playgroud)
我很想看到这个问题的不同方法.我向你保证这不是一个功课问题.提前致谢 :)
由于安德鲁·威尔斯(Andrew Wiles)解决了费马的最后一个定理并且证明了n > 2没有整数解,因此这很容易a ** n + b ** n == c ** n
def f(a, b, c):
return 2 if a * a + b * b == c * c else False
Run Code Online (Sandbox Code Playgroud)