কম্পিউটার

C++ এ প্রদত্ত ক্রিয়াকলাপ সহ অ্যারেটিকে একটি একক উপাদানে হ্রাস করুন


ইনপুট হিসাবে একটি পূর্ণসংখ্যা পরিবর্তনশীল সংখ্যা দেওয়া হয়েছে। আসুন আমরা সাজানো ক্রমে 1 থেকে সংখ্যা রেঞ্জের উপাদান ধারণকারী একটি বিন্যাস বিবেচনা করি। যদি আমরা একটি অ্যারেতে এমন একটি অপারেশন করি যাতে প্রতিটি ধাপে বিজোড় অবস্থানের উপাদানগুলি সরানো হয়। তারপর লক্ষ্য হল এই ক্রিয়াকলাপটি কয়েকবার সম্পাদন করা যতক্ষণ না শুধুমাত্র একটি উপাদান অবশিষ্ট থাকে। শেষে সেই উপাদানটি প্রিন্ট করুন।

দ্রষ্টব্য-:উপাদানগুলির অবস্থান এমন যে সূচক 0-এর অ্যারেটি 1ম অবস্থানে এবং আরও অনেক কিছু৷

অ্যারেতে উপাদানের সংখ্যার জন্য টেস্ট কেস

ইনপুট সংখ্যা=1, আউটপুট =1

ইনপুট সংখ্যা=2, আউটপুট =2

ইনপুট সংখ্যা=3, আউটপুট =2

ইনপুট সংখ্যা=4, আউটপুট =4

ইনপুট সংখ্যা=5, আউটপুট =4

ইনপুট সংখ্যা=6, আউটপুট =4

ইনপুট সংখ্যা=7, আউটপুট =4

......

ইনপুট সংখ্যা=12, আউটপুট =8

ইনপুট সংখ্যা=20, আউটপুট =16

উপরের পর্যবেক্ষণের উপর ভিত্তি করে, 2 i এর মধ্যে সংখ্যার পরিসরের জন্য 2 i+1 পর্যন্ত -1 আউটপুট হবে 2 i .

উদাহরণ

ইনপুট −সংখ্যা=7

আউটপুট − হ্রাস অপারেশনের পরে একক উপাদান হল :4

ব্যাখ্যা − প্রথম উপাদানটি অবস্থান 1 এ এবং আরও অনেক কিছু।

অ্যারে হবে [ 1 2 3 4 5 6 7 ]

1ম অপারেশনের পর:[ 2 4 6 ]

২য় অপারেশনের পর:[ 4 ]

ইনপুট − নম্বর=18

আউটপুট − হ্রাস অপারেশনের পরে একক উপাদান হল :4

ব্যাখ্যা − প্রথম উপাদানটি অবস্থান 1 এ এবং আরও অনেক কিছু।

অ্যারে হবে [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ]

1ম অপারেশনের পর:[ 2 4 6 8 10 12 14 16 18]

২য় অপারেশনের পর:[ 2 8 12 16 ]

3য় অপারেশনের পর:[ 8 16 ]

৪র্থ অপারেশনের পর [ ১৬ ]

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

এই পদ্ধতিতে আমরা উপরের সূত্রের উপর ভিত্তি করে শেষ ফলাফল গণনা করতে একটি while লুপ ব্যবহার করব। প্রাথমিক মান 2 হিসাবে নিন এবং 2*ফলাফল <=ইনপুট নম্বর পর্যন্ত অতিক্রম করুন এবং প্রতিটি পুনরাবৃত্তিতে মান দ্বিগুণ করুন।

  • ইনপুট ভেরিয়েবল নম্বর নিন

  • ফাংশন getsingleElement(long num) ইনপুট নম্বর নেয় এবং উপরের সূত্রের উপর ভিত্তি করে ফলাফল প্রিন্ট করে।

  • একটি পরিবর্তনশীল ফলাফল নিন।

  • 2 দিয়ে ফলাফল শুরু করুন।

  • রেজাল্ট*2<=num.

    পর্যন্ত লুপ ব্যবহার করে ট্রাভার্স করুন
  • ডবল ফলাফল হবে ভিতরে.

  • while লুপ শেষ হওয়ার সাথে সাথে আমরা কাঙ্খিত মান পাব।

  • ফলাফল ফেরত দিন।

  • মূল ভিতরে ফলাফল প্রিন্ট করুন।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
long getsingleElement(long num){
   long result;
   result=2;
   while(result*2 <= num){
      result=result*2;
   }
   return result;
}
int main(){
   int Number = 20;
   cout<<"The single element after reduction operation is : "<<getsingleElement(Number) ;
   return 0;
}

আউটপুট

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

The single element after reduction operation is : 16

  1. C++ এ সাজানো অ্যারেতে একক উপাদান

  2. C++ এ প্রদত্ত ক্রিয়াকলাপের সাথে অ্যারের যোগফল সর্বাধিক করা হচ্ছে

  3. C++ এ প্রদত্ত পার্থক্যের সাথে একটি জোড়া খুঁজুন

  4. C++ এ পরম পার্থক্যের ন্যূনতম যোগফল সহ অ্যারে উপাদান?