কম্পিউটার টিউটোরিয়াল

সি++-এ উডল নম্বর


এই সমস্যায়, আমাদের একটি সংখ্যা দেওয়া আছে এবং আমাদের কাজ হল চেক করা যে সংখ্যাটি উডল নম্বর কিনা।

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

Wn = n.2n -1

প্রথম ৫টি উডল নম্বর হল 1, 7, 23, 63, 159

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

ইনপুট

X = 159

আউটপুট

হ্যাঁ

এই সমস্যাটি সমাধান করতে, আমরা সংখ্যাটি পর্যবেক্ষণ করব, যদি সংখ্যাটি জোড় হয় তবে এটি উডল হতে পারবে না এবং তারপর সংখ্যাটি চেক করব। চেক করতে, সংখ্যাটির সাথে ১ যোগ করব এবং রিকার্সিভলি ২ দিয়ে ভাগ করব। প্রতিটি ভাগের পর যে সংখ্যা ভাগ হলো সেটি গণনা করব। এবং প্রতিটি পয়েন্টে চেক করব যে গণনাটি সংখ্যার সাথে সমান কিনা।

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

উদাহরণ

#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<<" একটি উডল নম্বর":cout<<" একটি উডল নম্বর নয়";    return 0; }

আউটপুট

1424 একটি উডল নম্বর নয়

  1. Frugal সংখ্যা চেক করা (C++)

  2. C++ দিয়ে পেন্টাটপ (Pentatope) সংখ্যা বের করা

  3. সি++-এ নাম্বার অফ এনক্লেভস (Number of Enclaves)

  4. C++-এ অ্যাডাম সংখ্যা (Adam Number) চেক করার পদ্ধতি