কম্পিউটার

C++ এ উদাহরণ সহ ইভিল নম্বর


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

ইভিল নম্বর: এটি একটি ধনাত্মক সংখ্যা যার বাইনারি প্রসারণে 1 এর জোড় সংখ্যা রয়েছে৷

উদাহরণ: 5, 17

অদ্ভুত সংখ্যা: এটি একটি ধনাত্মক সংখ্যা যার বাইনারি প্রসারণে 1 এর বিজোড় সংখ্যা রয়েছে৷

উদাহরণ : 4, 6

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

ইনপুট: N =65

আউটপুট: ইভিল নম্বর

ব্যাখ্যা:

65 এর বাইনারি সম্প্রসারণ :1000001

সমাধান পদ্ধতি:

সমস্যার একটি সহজ সমাধান হল সংখ্যাটির বাইনারি প্রসারণ খুঁজে বের করা এবং তারপর প্রসারণে 1 এর সংখ্যা গণনা করা। সংখ্যাটি জোড় হলে একটি অশুভ সংখ্যা অন্যথায় এটি একটি অডিয়স সংখ্যা।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <iostream>
using namespace std;

int isEvilNumber(int n) {

   int count = 0;
   while (n != 0) {
      int r = n % 2;
      if(r == 1)
         count++;
      n = n / 2;
   }
   
   if (count % 2 == 0)
      return 1;
   else
      return 0;
}

int main(void)
{
   int num = 2049;
   if (isEvilNumber(num) )
      cout<<"The number "<<num<<" is an Evil Number";
   else
      cout<<"The number "<<num<<" is an Odious Number";
   return 0;
}

আউটপুট −

The number 2049 is an Evil Number

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

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

  3. C++ এ উদাহরণ সহ এক্সপ্রেশন ট্রি

  4. C++-এ B-বেসে N একটি সংখ্যা 1 দিয়ে শুরু হয় কিনা তা পরীক্ষা করুন