(2024.02.19 \u66f4\u65b0)<\/strong><\/mark><\/p>\n\n\n\n\u5728\u984c\u76ee\u7684\u9032\u4e00\u6b65\u4e2d\uff0c\u6211\u5011\u53ef\u4ee5\u770b\u5230\u662f\u5426\u53ef\u4ee5\u7528\u975e\u8ff4\u5708\/\u905e\u8ff4\u7684\u65b9\u5f0f\u4f86\u89e3\u6c7a?<\/p>\n\n\n\n
\u90a3\u5c31\u4ee3\u8868\u4e86\u9084\u6709\u5176\u4ed6\u7684\u89e3\u6cd5\uff0c\u5728\u904e\u4e86\u4e00\u9663\u5b50\u5f8c\u56de\u4f86\u770b\u4e00\u984c\u7e3d\u7b97\u60f3\u5230\u4e86<\/p>\n\n\n\n
\u6211\u5011\u5148\u4f86\u770b\u770b\u4e8c\u76840\u523010\u6b21\u65b9\u7528\u4e8c\u9032\u4f4d\u8868\u793a\u7684\u6a23\u5b50\u5427<\/p>\n\n\n\n
20<\/sup>=1 (\u4e8c\u9032\u4f4d: 1)
21<\/sup>=2 (\u4e8c\u9032\u4f4d: 10)
22<\/sup>=4 (\u4e8c\u9032\u4f4d: 100)
23<\/sup>=8 (\u4e8c\u9032\u4f4d: 1000)
24<\/sup>=16 (\u4e8c\u9032\u4f4d: 10000)
25<\/sup>=32 (\u4e8c\u9032\u4f4d: 100000)
26<\/sup>=64 (\u4e8c\u9032\u4f4d: 1000000)
27<\/sup>=128 (\u4e8c\u9032\u4f4d: 10000000)
28<\/sup>=256 (\u4e8c\u9032\u4f4d: 100000000)
29<\/sup>=512 (\u4e8c\u9032\u4f4d: 1000000000)
210<\/sup>=1024 (\u4e8c\u9032\u4f4d: 10000000000)<\/p>\n\n\n\n\u8b1b\u5230\u4e8c\u9032\u4f4d\uff0c\u5927\u5bb6\u61c9\u8a72\u6703\u77e5\u9053 1 \u51fa\u73fe\u7684\u4f4d\u7f6e\u5c31\u662f2\u7684\u5e7e\u6b21\u65b9\u5427<\/p>\n\n\n\n
\u6240\u4ee5\u6211\u5011\u53ef\u4ee5\u5229\u7528\u9019\u500b\u7279\u6027\u4f86\u5beb\u51fa\u4e0d\u7528\u4efb\u4f55\u8ff4\u5708\u7684\u7a0b\u5f0f\u78bc<\/p>\n\n\n\n
public class Solution {\n public bool IsPowerOfTwo(int n) {\n if(n<0){\n return false;\n }\n string binaryStr = Convert.ToString(n, 2);\n return binaryStr.LastIndexOf('1') == 0;\n }\n}<\/code><\/pre><\/div>\n\n\n\n\u65e2\u7136\u662f\u4e8c\u7684\u6b21\u65b9\uff0c\u90a3\u5c31\u4ee3\u8868\u4e8c\u9032\u4f4d\u8868\u793a\u662f\u7531 1 \u958b\u982d\u4e26\u4e14\u5f8c\u9762\u90fd\u662f0<\/p>\n\n\n\n
\u90a3\u6211\u5011\u53ef\u4ee5\u8f49\u70ba\u4e8c\u9032\u4f4d\u5b57\u4e32\u5f8c\uff0c\u5224\u65b7 1 \u7684\u6700\u5f8c\u7684\u7d22\u5f15\u662f\u5426 0 (\u4e5f\u5c31\u662f\u7b2c\u4e00\u4f4d)\uff0c\u8981\u662f\u4e0d\u662f0\u4ee3\u8868\u4e86\u51fa\u73fe\u4e86\u4e0d\u53ea\u4e00\u500b 1<\/p>\n\n\n\n
\u90a3\u4e5f\u4ee3\u8868\u4e86\u90a3\u500b\u6578\u5b57\u4e0d\u662f\u4e8c\u7684\u4efb\u4e00\u6b21\u65b9<\/p>\n\n\n\n
<\/div>\n\n\n\n
<\/span>Java\u89e3\u6c7a\u65b9\u6848<\/strong><\/span><\/h3>\n\n\n\n\u26a0\ufe0f\u65b9\u68481<\/strong><\/p>\n\n\n\nclass Solution {\n public boolean isPowerOfTwo(int n) {\n if(n<0){\n return false;\n }\n\n double nn = n*1.0;\n while(nn>=2)\n {\n nn\/=2;\n }\n return nn == 1.0;\n }\n}<\/code><\/pre><\/div>\n\n\n\n<\/div>\n\n\n\n
\u65b9\u68482 – \u4f7f\u7528\u4e8c\u9032\u4f4d<\/strong><\/p>\n\n\n\nclass Solution {\n public boolean isPowerOfTwo(int n) {\n if (n < 0) {\n return false;\n }\n String binaryStr = Integer.toBinaryString(n);\n return binaryStr.lastIndexOf('1') == 0;\n }\n}<\/code><\/pre><\/div>\n\n\n\n\u8aaa\u660e\u8acb\u53c3\u8003C#\u7684\u8aaa\u660e<\/p>\n\n\n\n
<\/div>\n\n\n\n
<\/span>Python3 \u89e3\u6c7a\u65b9\u6848 <\/strong><\/span><\/h3>\n\n\n\n\u26a0\ufe0f\u65b9\u68481<\/strong> – while \u8ff4\u5708<\/p>\n\n\n\nclass Solution:\n def isPowerOfTwo(self, n: int) -> bool:\n if(n<0):\n return False\n\n while(n>=2):\n n\/=2\n\n return n == 1<\/code><\/pre><\/div>\n\n\n\n<\/div>\n\n\n\n
\u65b9\u68482 – \u4f7f\u7528\u4e8c\u9032\u4f4d<\/strong><\/p>\n\n\n\nclass Solution:\n def isPowerOfTwo(self, n: int) -> bool:\n if(n<=0):\n return False\n\n s = "{0:b}".format(n)\n return s.rindex("1")==0<\/code><\/pre><\/div>\n\n\n\nPython \u9019\u500b\u8f49\u4e8c\u9032\u4f4d\u5b57\u4e32\u7684\u5beb\u6cd5\u6211\u4e5f\u662f\u7b2c\u4e00\u6b21\u7528\u5230…<\/p>\n\n\n\n
<\/div>\n\n\n\n
<\/span>JavaScript \u89e3\u6c7a\u65b9\u6848 <\/strong><\/span><\/h3>\n\n\n\n\u65b9\u68481<\/strong> <\/p>\n\n\n\n\/**\n * @param {number} n\n * @return {boolean}\n *\/\nvar isPowerOfTwo = function(n) {\n if(n<0){\n return false;\n }\n\n while(n>=2)\n {\n n\/=2;\n }\n return n == 1;\n};<\/code><\/pre><\/div>\n\n\n\n<\/div>\n\n\n\n