初級演算法 3的冪

2021-09-29 14:46:33 字數 869 閱讀 9284

3的冪

給定乙個整數,寫乙個函式來判斷它是否是 3 的冪次方。

示例 1:

輸入: 27

輸出: true

示例 2:

輸入: 0

輸出: false

示例 3:

輸入: 9

輸出: true

示例 4:

輸入: 45

輸出: false

高階:你能不使用迴圈或者遞迴來完成本題嗎?

思路:比較簡單 分情況考慮 考慮 n0 n1 n==其他 的情況

n為其他時 迴圈對3取餘 然後每次更新n的值

class

solution

else

}return

true;}

};

遞迴思路:遞迴是真的秀

class

solution

};

更秀的方法:整數限制

3的冪次質因子只有3

n是int型別 3的冪次最大為 3的19次冪 大小為1162261467

所以只要一句即可

return n>0&&

1162261467

% n==

0;

另乙個好的思路 可以減少迴圈次數

因為3的冪次 最後一位數字1、2、7、9

首先判斷各位數字是不是符合這個條件

然後再 做迴圈

class

solution

while

(n!=1)

return

true;}

};

task3初級演算法

熵 原本物理學中的定義,後來夏農將其引申到啦資訊理論領域,用來表示資訊量的大小。資訊量大 分類越不 純淨 對應的熵值就越大,反之亦然。資訊熵的計算公式 聯合熵 一維隨機變數分布推廣到多維隨機變數分布。聯合熵的計算公式 條件熵 h y x 表示在已知隨機變數 x 的條件下隨機變數 y 的不確定性。條件...

牛客初級演算法3

用陣列結構實現大小固定的佇列和棧 1.實現棧結構 棧結構是先進後出的,只需要乙個陣列和乙個記錄位置的變數size,當進來乙個元素,size就 出去乙個元素size就 2.實現佇列結構 相對棧結構要難搞一些,佇列的先進先出的,需要乙個陣列和三個變數,size記錄已經進來了多少個元素,in記錄剛進來的元...

2的冪,3的冪,4的冪

給定乙個整數,編寫乙個函式來判斷它是否是 2 的冪次方。示例 1 輸入 1 輸出 true 解釋 20 1 示例 2 輸入 16 輸出 true 解釋 24 16 示例 3 輸入 218 輸出 false 分析 class solution 給定乙個整數,寫乙個函式來判斷它是否是 3 的冪次方。示例...