C++程式,用於判斷一個數字是否為2的冪
檢查一個給定的數字是否是2的冪。首先檢查以下哪些數字是2的冪,哪些不是。此程式碼檢查該數字是否是奇數,然後同時對其進行除法,直到它變為0或奇數。如果它變為0,則它是2的冪,否則不是。
一個更好的選擇是取該數字的對數。如果是整數,則n是2的冪,否則不是。2的冪的數字
2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 ... 22 = 4 25 = 32 210 = 1024
Input: 8 Output: Number is power of 2
說明
一種簡單的方法是直接取該數字以2為底的對數,如果得到一個整數,則該數字是2的冪。
透過不斷用2對N進行除法,如果N是偶數。如果最後它變為1,則N是2的冪
示例
#include <iostream>
using namespace std;
int main() {
int n=8;
if(n>0) {
while(n%2 == 0) {
n/=2;
}
if(n == 1) {
cout<<"Number is power of 2"<<endl;
}
}
if(n == 0 || n != 1) {
cout<<"Number is not power of 2"<<endl;
}
return 0;
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP