কম্পিউটার

কোলাটজ অনুমান বাস্তবায়নের জন্য C++ প্রোগ্রাম


এই টিউটোরিয়ালে, আমরা Collatz Conjecture বাস্তবায়নের জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।

এর জন্য, আমাদের একটি সংখ্যা n দেওয়া হবে এবং আমাদের খুঁজে বের করতে হবে যে এটি দুটি অপারেশন ব্যবহার করে 1 এ রূপান্তর করা যায় কিনা −

  • যদি n জোড় হয়, n n/2 এ রূপান্তরিত হয়।

  • যদি n বিজোড় হয়, n রূপান্তরিত হয় 3*n + 1।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
//checking if n reaches to 1 or not
bool check1(int n, unordered_set<int> &s){
   if (n == 1)
      return true;
   if (s.find(n) != s.end())
      return false;
   return (n % 2)? check1(3*n + 1, s) :
      check1(n/2, s);
}
bool if_one(int n){
   unordered_set<int> s;
   return check1(n, s);
}
int main(){
   int n = 234;
   if_one(n) ? cout << "Yes" : cout <<"No";
   return 0;
}

আউটপুট

Yes

  1. সিলেকশন সর্ট বাস্তবায়নের জন্য সি++ প্রোগ্রাম

  2. হিপ সাজানোর জন্য C++ প্রোগ্রাম

  3. বুদবুদ সাজানোর জন্য C++ প্রোগ্রাম

  4. রেডিক্স সাজানোর জন্য C++ প্রোগ্রাম