কম্পিউটার

একটি সংখ্যা 8 এর শক্তি কিনা তা C++ এ পরীক্ষা করুন


এই অংশে, আমরা দেখব, একটি সংখ্যা 8 এর শক্তি না হলে কিছু সহজ পদ্ধতি ব্যবহার করে। যদি 4096 এর মত একটি সংখ্যা থাকে, তাহলে প্রোগ্রামটি সত্য হবে, কারণ এটি 8 এর শক্তি।

কৌশলটি সহজ। আমরা log8(num) গণনা করব। যদি এটি একটি পূর্ণসংখ্যা হয়, তাহলে n হল 8 এর শক্তি। এখানে আমরা ডবল মানের নিকটতম পূর্ণসংখ্যা বের করতে tranc(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

  1. একটি বড় সংখ্যা 75 দ্বারা বিভাজ্য নাকি C++ এ নয় তা পরীক্ষা করুন

  2. একটি বড় সংখ্যা 5 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  3. একটি বড় সংখ্যা 25 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  4. একটি বড় সংখ্যা 11 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন