342. Power of Four
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、吳興網(wǎng)站維護(hù)、網(wǎng)站推廣。Given an integer (signed 32 bits), write a function to check whether it is a power of 4.
Example:
Given num = 16, return true. Given num = 5, return false.
Follow up: Could you solve it without loops/recursion?
題目大意:
判斷一個數(shù)是否為4的冪。
思路:
要求不能使用循環(huán)和遞歸。所以必須使用位運(yùn)算了。
因?yàn)?的冪肯定是2的冪,所以先將2的冪篩選一次,然后再篩選4的冪。
代碼如下:
class Solution { public: bool isPowerOfFour(int num) { if(num <= 0 ) return false; if( ( (num)&(num-1) ) )//判斷是否為2的冪 return false; //0x55555555的二進(jìn)制表示為 //01010101010101010101010101010101 //將目標(biāo)數(shù)過濾出來 if( ( (num) & (0x55555555) ) == num) return true; return false; } };
位運(yùn)算中對于尋找合適的 0x55555555 比較費(fèi)勁。多加練習(xí)。
參考自:http://blog.csdn.net/liyuanbhu/article/details/51178795
2016-08-14 22:52:10
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。