কম্পিউটার

একটি সংখ্যা দুটির শক্তি কিনা তা খুঁজে বের করার জন্য C++ প্রোগ্রাম?


একটি প্রদত্ত সংখ্যা 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 এর শক্তি।

N একটি জোড় সংখ্যা হলে N 2 দিয়ে বারবার ভাগ করলে। যদি এটি 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;
}

  1. একটি গ্রিডে আলোকিত কোষের সংখ্যা খুঁজে বের করার জন্য C++ প্রোগ্রাম

  2. সংখ্যাটি 2 দ্বারা বিভাজ্য কিনা তা খুঁজে বের করার জন্য C# প্রোগ্রাম

  3. পাইথন প্রোগ্রাম একটি সংখ্যা দুটির শক্তি কিনা তা খুঁজে বের করতে

  4. পাইথন প্রোগ্রাম a no দুইটির শক্তি কিনা তা খুঁজে বের করতে