কম্পিউটার

শুধুমাত্র সেট বিট হিসাবে প্রথম এবং শেষ বিট থাকা সংখ্যাগুলি মুদ্রণ করুন


কাজটি হল প্রদত্ত n সংখ্যাটি প্রিন্ট করা যাতে ঠিক দুটি সেট বিট থাকে যা 2-এর কম বা 2-এর বেশি নয়৷

কম্পিউটারের ভাষায় সেট বিট হল যেগুলির মান 1 এবং আনসেট বিটগুলির মান 0

Input: value of num=5
Output: 1 3 5
   As 1 is equivalent to 1 in binary
      3 is equivalent to 11 in binary
      5 is equivalent to 101 in binary

অ্যালগরিদম

START
Step 1 -> declare variable as unsigned int num=5 and int i=1
Step 2 -> print i
Step 3 -> Loop For i=3 and i<=num and ++i
   IF (!(i-1 & i-2))
      Print i
   End
End
STOP

উদাহরণ

#include <stdio.h>
int main(int argc, char const *argv[]) {
   unsigned int num = 5;
   int i = 1;
   printf("%d ", i); //printing first number 1
   for (i = 3; i <= num; ++i) {
      if(!(i-1 & i-2)) //performing and operation on i-1 and i-2
      printf("%d ", i);
   }
   return 0;
}

আউটপুট

যদি আমরা উপরের প্রোগ্রামটি চালাই তাহলে এটি নিম্নলিখিত আউটপুট তৈরি করবে

1 3 5

  1. C তে নন স্কোয়ার নম্বর প্রিন্ট করুন

  2. সি প্রোগ্রামিং এর শেষ কলাম থেকে স্নেক প্যাটার্নে ম্যাট্রিক্স প্রিন্ট করুন।

  3. সংখ্যাগুলি 0 এবং 1 দিয়ে মুদ্রণ করুন যাতে C প্রোগ্রামে তাদের যোগফল N হয়।

  4. সি প্রোগ্রামে আপেক্ষিক ক্রমে অ্যারের উপাদানগুলির শেষ ঘটনা প্রিন্ট করুন।