国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

leetcode-326-Power of Three

2019-11-08 01:48:34
字體:
來源:轉載
供稿:網友

問題

題目:[leetcode-326]

思路

想法很簡單,只要能一直被3整除即可。最后,數字一定是1。反之,則不是3的次數冪。

代碼

class Solution {public: bool isPowerOfThree(int n) { if(n<1) return false; while(n%3==0){ n /= 3; } if(1==n) return true; else return false; }};

思路1

這個題不用循環沒有思路,本省想著可能是位運算。但是沒有想出來。 最后,參考別人的方法發現不對。這個題應該是用數學的辦法去做。

如果n是3的冪,即n=3c,所以logn3=c。即后者是一個整數。 那么,可以采用換底公式,有logn10log310=C 所以,如果n是3的次方,那么上面的等式成立,反之,不是一個整數。上式不成立。

對于浮點數除法,可能是一個整數,結果任然是一個浮點數。我們需要判斷是不是整數。比如,6.2 / 3.1 = 2.0。等式右邊是一個浮點數,但它是一個整數。

代碼1

class Solution {public: bool isPowerOfThree(int n) { if(n<1) return false; else return isInt( log10(n)/log10(3) ); }PRivate: bool isInt(double val){ return val == (int)val; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长岛县| 疏附县| 松江区| 秦安县| 临西县| 汉中市| 新营市| 资兴市| 闻喜县| 冷水江市| 大港区| 饶阳县| 秦安县| 平远县| 陆丰市| 青浦区| 金塔县| 镇江市| 宕昌县| 射阳县| 渭源县| 呼和浩特市| 新昌县| 邮箱| 怀宁县| 措勤县| 鸡西市| 临颍县| 古丈县| 裕民县| 江孜县| 云阳县| 崇明县| 禄劝| 德保县| 板桥市| 茶陵县| 宕昌县| 靖远县| 嘉定区| 宁波市|