কম্পিউটার

C++ এ উডঅল নম্বর


এই সমস্যায়, আমাদের একটি নম্বর দেওয়া হয় এবং আমাদের কাজ হল নম্বরটি উডঅল নম্বর কিনা তা পরীক্ষা করা৷

উডঅল নম্বর একটি বিশেষ ধরনের সংখ্যা যা ফর্মের,

Wn = n.2n -1

প্রথম ৫টি উডঅল সংখ্যা হল 1, 7, 23, 63, 159

সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,

ইনপুট

X = 159

আউটপুট

Yes

এই সমস্যাটি সমাধান করার জন্য, আমরা সংখ্যাটি পর্যবেক্ষণ করব, যদি সংখ্যাটি জোড় হয় তবে এটি Woodall হতে পারে না এবং তারপর সংখ্যাটি পরীক্ষা করে দেখুন। পরীক্ষা করার জন্য, সংখ্যাটি 1 দ্বারা যোগ করুন এবং সংখ্যাটিকে 2 দ্বারা পুনরাবৃত্তভাবে ভাগ করুন। প্রতিটি ভাগের পরে এটি কতবার বিভাজ্য তা গণনা করুন। এবং প্রতিটি পয়েন্টে পরীক্ষা করুন যে সংখ্যাটি সংখ্যার সমান কিনা।

আমাদের সমাধানের বাস্তবায়ন দেখানোর জন্য প্রোগ্রাম,

উদাহরণ

#include <iostream>
using namespace std;
bool isWoodallNumber(int x){
   if (x % 2 == 0)
      return false;
   if (x == 1)
      return true;
   x+= 1;
   int p = 0;
   while(x%2 == 0){
      x = x/2;
      p++;
      if (p == x)
         return true;
   }
   return false;
}
int main() {
   int x = 1424;
   cout<<x;
   (isWoodallNumber(x))?cout<<" is a Woodal Number":cout<<" is not a Woodal Number";
   return 0;
}

আউটপুট

1424 is not a Woodal Number

  1. C++ এ মিতব্যয়ী নম্বর

  2. C++ পেন্টাটোপ নম্বর

  3. C++ এ ছিটমহলের সংখ্যা

  4. C++ এ অ্যাডাম নম্বর