इस खंड में, हम देखेंगे कि किसी संख्या के 8 की घात होने की जांच कुछ आसान विधि का उपयोग करके कैसे करें। यदि 4096 जैसी संख्या है, तो प्रोग्राम true लौटाएगा, क्योंकि यह 8 की घात है।
ट्रिक सरल है। हम log8(num) की गणना करेंगे। यदि यह एक पूर्णांक है, तो n 8 की घात है। यहां हम double मान के निकटतम पूर्णांक को खोजने के लिए trunc(n) फंक्शन का उपयोग करेंगे।
उदाहरण
#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