檢查數字是否為 C++ 中的 8 次冪
在本節中,我們將學習使用一些更簡單的方法,檢查一個數字是否是 8 的冪。如果存在像 4096 這樣的數字,那麼程式將返回真,因為這是 8 的冪。
訣竅很簡單。我們將計算 log8(num)。如果這是一個整數,那麼 n 就是 8 的冪。這裡我們將使用 tranc(n) 函式來查詢 double 值的最近整數。
示例
#include <iostream>
#include <cmath>
using namespace std;
bool isPowerOfEight(int n) {
double val = log(n)/log(8); //get log n to the base 8
return (val - trunc(val) < 0.000001);
}
int main() {
int number = 4096;
if(isPowerOfEight(number)){
cout << number << " is power of 8";
} else {
cout << number << " is not power of 8";
}
}輸出
4096 is power of 8
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP