gpt4 book ai didi

python - 我如何用 Python 编写这个等式?

转载 作者:太空狗 更新时间:2023-10-30 00:54:36 26 4
gpt4 key购买 nike

Cardano Triplets

我真的不知道如何正确地写这个。这是我尝试的方式:

def is_cardano_triplet(a, b, c):
f = lambda x: x ** 1. / 2
g = lambda x: x ** 1. / 3
return g(a + b*f(c)) + g(a - b*f(c)) == 1

print is_cardano_triplet(2,1,5) # I should get True

对于 2、1、5,我应该得到 True,但我没有。我的功能有什么问题?

最佳答案

做一些计算,I found out那:

lolz

因此:

lolzz

现在,由于 known reasons 的浮点运算在基于二进制的系统上不精确,第一个公式很难精确计算。然而,第二个更容易计算,没有浮点精度错误,因为它不涉及无理函数和abc 是整数。

这是聪明的解决方案:

def is_cardano_triplet(a, b, c):
return (a + 1)**2 * (8*a - 1) - 27*b**2*c == 0

>>> is_cardano_triplet(2, 1, 5)
True

关于python - 我如何用 Python 编写这个等式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36727886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com