কম্পিউটার

C++-এ N-কে 0-তে কমাতে প্রদত্ত ধরনের কাউন্ট অপারেশন প্রয়োজন


আমাদেরকে একটি ধনাত্মক পূর্ণসংখ্যা N দেওয়া হয়েছে। লক্ষ্য হল N-কে কমাতে প্রয়োজনীয় ক্রিয়াকলাপের সংখ্যা খুঁজে বের করা। প্রয়োগ করা অপারেশন হল N=N-P যেখানে P হল P-এর ক্ষুদ্রতম মৌলিক ভাজক।

আসুন উদাহরণ দিয়ে বুঝতে পারি

ইনপুট − N=17

আউটপুট − N কে 0 থেকে কমাতে প্রয়োজনীয় প্রদত্ত ধরনের অপারেশনের সংখ্যা হল − 1

ব্যাখ্যা − 17-এর ক্ষুদ্রতম মৌলিক ভাজক হল 17 নিজেই। সুতরাং অপারেশন শুধুমাত্র একবার প্রয়োগ করা হয় 17-17=0।

ইনপুট − N=20

আউটপুট − N কে 0 থেকে কমাতে প্রয়োজনীয় প্রদত্ত ধরনের অপারেশনের সংখ্যা হল − 10

ব্যাখ্যা − 20-এর ক্ষুদ্রতম মৌলিক ভাজক হল 2। বারবার 2 বিয়োগ করে পরবর্তী মৌলিক ভাজক খুঁজে বের করা:

20%2==0, 20-2=18
18%2==0, 18-2=16
…………………..14, 12, 10, 8, 6, 4, 2, 0 Total 10 times the operation is applied.

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

সবার জন্য এমনকি N-এর ক্ষুদ্রতম মৌলিক ভাজক সর্বদা 2 হবে এবং জোড় N থেকে 2 বিয়োগ করলে আবার একটি জোড় সংখ্যা তৈরি হবে। সমস্ত বিজোড় সংখ্যার জন্য ক্ষুদ্রতম মৌলিক ভাজকটি বিজোড় হবে, বিজোড় থেকে বিয়োগ করার পর সংখ্যাটি জোড় হবে তাই আবার 2 ক্ষুদ্রতম মৌলিক ভাজক হবে। ক্ষুদ্রতম মৌলিক ভাজক খুঁজতে i=2 থেকে i এমনভাবে শুরু করুন যাতে i*i

  • ইনপুট হিসাবে একটি পূর্ণসংখ্যা N নিন।

  • ফাংশন N_to_Zero(int N) N নেয় এবং N কে 0 এ কমাতে প্রয়োজনীয় ক্রিয়াকলাপের সংখ্যা প্রদান করে।

  • গণনার প্রাথমিক মান 0 হিসাবে নিন।

  • i=2 থেকে শুরু। (i*i)

  • যদি (i*i) N অতিক্রম করে, i=N.

    সেট করুন
  • অপারেশনের সংখ্যা হবে 1+(N-i)/2।

  • 1+(N-i)/2 হিসাবে গণনা সেট করুন।

  • ফলাফল হিসাবে রিটার্ন গণনা।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
int N_to_Zero(int N){
   int count = 0;
   int i = 2;
   while((i * i) < N && (N % i)){
      i++;
   }
   if((i * i) > N){
      i = N;
   }
   count = 1 + (N-i)/2;
   return count;
}
int main(){
   int N = 10;
   cout<<"Count of operations of the given type required to reduce N to 0 are: "<<N_to_Zero(N);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count of operations of the given type required to reduce N to 0 are: 5

  1. প্রদত্ত গাছের নোডগুলি গণনা করুন যার ওজন C++ এ দুটির শক্তি

  2. C++ এ একটি গ্রিডে প্রদত্ত দিকের সম্ভাব্য চালগুলি গণনা করুন

  3. প্রদত্ত সেটের MEX কে C++ এ x এর সমান করার জন্য ন্যূনতম ক্রিয়াকলাপ

  4. প্রদত্ত পুনরাবৃত্তিকারীর ধরন খুঁজে পেতে C++ প্রোগ্রাম