gpt4 book ai didi

java - 在幂计算中使用 int、double 和 long

转载 作者:行者123 更新时间:2023-12-02 06:16:16 29 4
gpt4 key购买 nike

我无法确定何时使用 int、double 和 long。

我正在计算一个整数的幂并返回结果,只要提供的幂不是负数。

对于作业,我需要使用以下代码来开始:

public static long powerN(int number, int power) {

这是我想到的:

public class PowerCalculator
{
/**
* Calculate the non-negative power of an integer number. If a negative power is input, the method returns 1.
*
* @param number The number to take power.
* @param power The power factor to be taken to.
* @return The calculation result after taking power of the integer number.
*/
public static long powerN(int number, int power) {

if (power > 0)
{
double result = (Math.pow(number, power));
return result;
}
else
{
return 1;
}
}
}

我知道我搞乱了 int、double 或 long 的使用,但我不知道如何修复它。

最佳答案

等等!如果您自己做,请使用更快的算法,例如 Exponentiation by squaring ,像这样:

long powerN(long number, int power){
long res = 1;
long sq = number;
while(power > 0){
if(power % 2 == 1){
res *= sq;
}
sq = sq * sq;
power /= 2;
}
return res;
}

关于java - 在幂计算中使用 int、double 和 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996070/

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