日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

java中整数的整数次方_数值的整数次方 - 剑指 Offer 学习心得_教程_Java开发社区...

發(fā)布時(shí)間:2025/4/5 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中整数的整数次方_数值的整数次方 - 剑指 Offer 学习心得_教程_Java开发社区... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

數(shù)值的整數(shù)次方

代碼實(shí)現(xiàn):

[java] view plaincopyprint?

public class Test11 {

/**

* 實(shí)現(xiàn)函數(shù)double Power(double base, int exponent),求base的exponent次方。

* 不得使用庫(kù)函數(shù),同時(shí)不需要考慮大數(shù)問(wèn)題。

*

* @param base 指次

* @param exponent 冪

* @return 結(jié)果

*/

public static double power(double base, int exponent) {

// 指數(shù)和底數(shù)不能同時(shí)為0

if (base == 0 && exponent == 0) {

throw new RuntimeException("invalid input. base and exponent both are zero");

}

// 指數(shù)為0就返回1

if (exponent == 0) {

return 1;

}

// 求指數(shù)的絕對(duì)值

long exp = exponent;

if (exponent < 0) {

exp = -exp;

}

// 求冪次方

double result = powerWithUnsignedExponent(base, exp);

// 指數(shù)是負(fù)數(shù),要進(jìn)行求倒數(shù)

if (exponent < 0) {

result = 1 / result;

}

// 返回結(jié)果

return result;

}

/**

* 求一個(gè)數(shù)的正整數(shù)次冪,不考慮溢出

*

* @param base 指次

* @param exponent 冪

* @return 結(jié)果

*/

public static double powerWithUnsignedExponent(double base, long exponent) {

// 如果指數(shù)為0,返回1

if (exponent == 0) {

return 1;

}

// 指數(shù)為1,返回底數(shù)

if (exponent == 1) {

return base;

}

// 遞歸求一半的值

double result = powerWithUnsignedExponent(base, exponent >> 2);

// 求最終的值,如果是奇數(shù)就還要剩以一次底數(shù)

result *= result;

if (exponent % 2 != 0) {

result *= base;

}

// 返回結(jié)果

return result;

}

public static void main(String[] args) {

System.out.println(0.0000000000000000000000001111 == 0);

System.out.println(0.0000000000000000000000000000 == 0);

System.out.println(power(2, -4));

System.out.println(power(2, 4));

System.out.println(power(2, 0));

System.out.println(power(0.00000000000000000000000000001, -1));

System.out.println(power(0.00000000000000000000000000001, 1));

System.out.println(power(0.00000000000000000000000000001, 0));

System.out.println(power(0.00000000000000000000000000000, 0));

}

運(yùn)行結(jié)果:

總結(jié)

以上是生活随笔為你收集整理的java中整数的整数次方_数值的整数次方 - 剑指 Offer 学习心得_教程_Java开发社区...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。