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 的冪次方。示例...