如果您尝试运行以下代码
public class Main {
public static void main(String[] args) {
long a = (long)Math.pow(13, 15);
System.out.println(a + " " + a%13);
}
}
Run Code Online (Sandbox Code Playgroud)
你会得到"51185893014090752 8"
的正确值13 ^ 15是51185893014090757,即,比由返回的结果更大的Math.pow由5.任何可能导致它的想法?
在Haskell中,我试图找到负整数的立方根,例如-1,但没有成功.
我使用过(-1)**(1/3),但这会返回一个NaN.我认为这可能与(1/3)分数的类型有关,但使用(1/3 :: Double)也没有成功.
结果,我的问题是如何使用Haskell找到-1的立方根,以便它不返回NaN?