相关疑难解决方法(0)

实现基于整数的幂函数pow(int,int)的最有效方法

将整数提升到C中另一个整数的幂的最有效方法是什么?

// 2^3
pow(2,3) == 8

// 5^5
pow(5,5) == 3125
Run Code Online (Sandbox Code Playgroud)

c algorithm math exponentiation

239
推荐指数
8
解决办法
19万
查看次数

我是否只是增加了扭转数字的复杂性?

public class HelloWorld{

 public static void main(String []args){

    int  orig=103, reverse=0, mod;
    int numOfDigits=0;
    int n = orig;

    while (n>0){
        n /= 10;
        numOfDigits++;
    }
    n = orig;
    while (n > 0){
        mod = n % 10;
        reverse = reverse + (int)(mod * java.lang.Math.pow(10, numOfDigits-1));
        numOfDigits--;
        n /= 10;
    }

System.out.println("Reversed is : " + reverse);
 }
Run Code Online (Sandbox Code Playgroud)

}

我知道reverse = reverse + (int)(mod * java.lang.Math.pow(10, numOfDigits-1));可以替换为reverse = mod + (reverse*10).

想知道我是否通过计算总位数和施加功率来增加简单程序的复杂性?

PS:请假设orig可以作为用户的输入,并且可以是任意数量的数字.我的硬编码仅用于实验.

java algorithm reverse

1
推荐指数
1
解决办法
103
查看次数

标签 统计

algorithm ×2

c ×1

exponentiation ×1

java ×1

math ×1

reverse ×1