国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【刷算法】數值的整數次方

jsummer / 1160人閱讀

摘要:題目描述給定一個類型的浮點數和類型的整數。分析可以采取暴力的解決辦法,把乘以次就可以得到結果,但我們肯定不是想要這樣的方法。觀察相乘的過程,比如,其實可以寫成,而且,,我們可以利用高次方的冪可以由低次方的冪相乘得來。

題目描述

給定一個double類型的浮點數a和int類型的整數m。求a的m次方。

分析

可以采取暴力的解決辦法,把a乘以m次就可以得到結果,但我們肯定不是想要這樣的方法。

觀察相乘的過程,比如a^7,其實可以寫成a^1*a^2*a^4,而且a^4=a^2*a^2,
a^2=a*a,我們可以利用高次方的冪可以由低次方的冪相乘得來。

代碼實現
function Power(a, m)
{
    var isNegative = false;
    if(m === 0)
        return 1;
    else if(m < 0){
        if(a === 0)
            throw new Error();
        else{
            isNegative = true;
            m = -m;
        }
    }
    
    var res = 1, cur = a;
    while(m !== 0) {
        if(m & 1 === 1){
            res = res * cur;
        }
        cur = cur * cur;
        m = m >>> 1;
    }
    
    return isNegative ? 1/res : res;
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95812.html

相關文章

  • 按位操作符

    摘要:將任一數值與執行按位與操作,其結果都為。中應用判斷奇偶性偶數奇數按位異或規則每一位都不同,結果才為將任一數值與進行異或操作,其結果為。 位運算在算法中很有用,速度可以比四則運算快很多。 To2orTo10 JS中十進制轉二進制: (val).toString(2)JS中二進制轉十進制: parseInt(val, 2) JS中規定安全整數的范圍是-2^53~2^53,所以大于90071...

    caiyongji 評論0 收藏0
  • 【LeetCode】字符串初級算法-顛倒整數

    摘要:題目描述顛倒整數給定一個位有符號整數,將整數中的數字進行反轉。根據這個假設,如果反轉后的整數溢出,則返回。思路字符串和數組的之間的轉換用和實現的次方 題目描述 顛倒整數給定一個 32 位有符號整數,將整數中的數字進行反轉。 示例 1: 輸入: 123輸出: 321 示例 2: 輸入: -123輸出: -321示例 3: 輸入: 120輸出: 21注意: 假設我們的環境只能存儲 32 位...

    wua_wua2012 評論0 收藏0
  • 由left-pad扯到JS中位運算

    摘要:原碼補碼和反碼原碼一個數在計算機中是以二進制的形式存在的,其中第一位存放符號正數為負數為。中的位運算在中按位操作符會將其操作數轉成補碼形式的有符號位整數。原文鏈接由扯到中的位運算 這個話題的由來是2016年3月份的時候 NPM 社區發生了‘left-pad’事件,不久后社區就有人發布了用來補救的,也是現在大家能用到的 left-pad 庫。 最開始這個庫的代碼是這樣的。 module....

    LeoHsiun 評論0 收藏0
  • 額,又是一道裝逼解法算法

    摘要:題目難度為,目前通過率為。這個特殊的數有如下特點足夠大,但不能超過位,即最大為個它的二進制表示中奇數位為,偶數位為符合這兩個條件的二進制數是如果用一個的冪次方數和它做與運算,得到的還是的冪次方數。將這個二進制數轉換成進制表示。 題目來源于 LeetCode 上第 342 號問題:4 的冪。題目難度為 Easy,目前通過率為 45.3% 。 題目描述 給定一個整數 (32 位有符號整數)...

    Zack 評論0 收藏0
  • 算法】LeetCode.26-從排序數組中刪除重復項

    摘要:題目描述給定一個排序數組,你需要在原地刪除重復出現的元素,使得每個元素只出現一次,返回移除后數組的新長度。示例給定函數應該返回新的長度并且原數組的前五個元素被修改為。也就是說,不對實參做任何拷貝在函數里修改輸入數組對于調用者是可見的。 題目描述 給定一個排序數組,你需要在原地刪除重復出現的元素,使得每個元素只出現一次,返回移除后數組的新長度。 不要使用額外的數組空間,你必須在原地修改輸...

    wua_wua2012 評論0 收藏0

發表評論

0條評論

jsummer

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<