Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何找到';n';提高功率';n';在爪哇_Java - Fatal编程技术网

Java 如何找到';n';提高功率';n';在爪哇

Java 如何找到';n';提高功率';n';在爪哇,java,Java,我试图找到一种在java中计算N^N的有效方法。由于对于大N,结果将非常大,因此我使用biginger作为结果数据类型,N是整数。如果N变大,例如N=10000000,则计算结果需要更多时间。有没有什么有效的方法可以在一秒钟内计算出来。处理程序中的数字日志,即N ln(N)。随着N的增长,N ln(N)相对于N^N的大小收缩得越来越快 实现这一点的方式取决于您需要做什么。如果你不需要你的N^N在程序中,那么就忘了它,一旦程序输出,就在纸上完成它。当你处理这么大的数字时,它的对数/数量级/位数(所

我试图找到一种在java中计算N^N的有效方法。由于对于大N,结果将非常大,因此我使用biginger作为结果数据类型,N是整数。如果N变大,例如N=10000000,则计算结果需要更多时间。有没有什么有效的方法可以在一秒钟内计算出来。

处理程序中的数字日志,即
N ln(N)
。随着
N
的增长,
N ln(N)
相对于
N^N
的大小收缩得越来越快

实现这一点的方式取决于您需要做什么。如果你不需要你的
N^N
在程序中,那么就忘了它,一旦程序输出,就在纸上完成它。当你处理这么大的数字时,它的对数/数量级/位数(所有这些都是同义词)是最基本的信息。如果您的程序输出了
x
,您将报告答案大约是
e^x
,这将是您所能说的全部内容


如果在程序中确实需要
N^N
,那么仍然应该计算
x=ln(N^N)=N ln(N)
。但是你必须想出一些创造性的方法,从
x
转换成你的程序可以实际使用的值。

我对此表示怀疑。这是一个相当大的数字。你真的需要这个数字吗?整数?因为每秒不太可能需要7000万位数字(十进制)。如果你只需要它的一部分,比如前几个数字,有很多方法可以帮助你。去买一台超级计算机吧@zch肯定这是可能的,而且不太难,但在不到一秒钟的时间里做起来也不是小事。我仍然在“这不是OP真正需要的”,这似乎需要一个更长的讨论。我们可以吗?答案很可靠。只带走你所关心的,把剩下的抛在脑后。