কম্পিউটার

প্রথম N প্রাকৃতিক সংখ্যা C++ এর উত্তম স্থানান্তর খুঁজুন


এই সমস্যায়, আমরা একটি পূর্ণসংখ্যার মান N। আমাদের কাজ হল প্রথম N প্রাকৃতিক সংখ্যার ভাল স্থানান্তর খুঁজে পাওয়া .

বিন্যাস হল বিন্যাসের ক্রম সম্পর্কিত সমস্ত বা বস্তুর একটি সেটের একটি বিন্যাস।

গুড পারমুটেশন একটি পারমুটেশন যেখানে $1\leqslant{i}\leqslant{N}$ এবং অনুসরণ করে,

$P_{pi}\:=\:i$

$P_{p!}\:=\:i$

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

Input : N = 1
Output : -1

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

সমস্যার একটি সহজ সমাধান হল অনুযায়ী খোঁজার মাধ্যমে p যেমন pi =i.

তারপর আমরা pi সন্তুষ্ট করার জন্য সমীকরণটি পুনর্বিবেচনা করব !=আমি। সুতরাং, x মানের জন্য যেমন $2x \leqslant x$, আমাদের আছে p 2x - 1 এবং p 2k . এখন, আমাদের একটি সমীকরণ আছে যা n-এর জন্য স্থানান্তর সমীকরণকে সন্তুষ্ট করে। এখানে, সমীকরণের সমাধান।


উদাহরণ

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

#include <iostream>
using namespace std;
void printGoodPermutation(int n) {
   if (n % 2 != 0)
      cout<<-1;
   else
      for (int i = 1; i <= n / 2; i++)
         cout<<(2*i)<<"\t"<<((2*i) - 1)<<"\t";
}
int main() {
   int n = 4;
   cout<<"Good Permutation of first N natural Numbers : \n"; printGoodPermutation(n);
   return 0;
}

আউটপুট

Good Permutation of first N natural Numbers :
2 1 4 3

  1. প্রথম প্রাকৃতিক সংখ্যাটি খুঁজুন যার ফ্যাক্টরিয়াল C++ এ x দ্বারা বিভাজ্য

  2. 2N সংখ্যার একটি পারমুটেশন খুঁজুন যাতে প্রদত্ত রাশির ফলাফল C++ এ ঠিক 2K হয়

  3. C++ এ প্রথম n প্রাকৃতিক সংখ্যার যোগফল

  4. সংখ্যার বিন্যাসের গুণফলের প্রথম সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম