全部:
lambda n:0in[(n-3*i*i+0j)**.5%1for i in range(n)]
使用在n == 3*i*i+j*j的OEIS上给出的等效二次型。通过取其平方根并检查它是否为整数(即等于0模1 ),检查n-3*i*i是否为任何i的完美平方。注意到,Python精确地计算完全平方的平方根,而不存在浮点误差。+0j使之成为一个复数,
我正在写一个程序,用python输出一个数字的平方根。square root of the given number is \u221A{num}")
#\u221A is unicode for square root symbol 我当前的程序检查输入的数字是否为完全平方,然后显示平方根。例如,如果num为300,则将显示√300。但我想让它显示为10√3。有什么办法吗?我不