इस समस्या में, हम एक पूर्णांक मान N हैं। हमारा कार्य प्रथम N प्राकृतिक संख्याओं का अच्छा क्रमपरिवर्तन खोजना है। ।
क्रमपरिवर्तन व्यवस्था के क्रम के संबंध में सभी या वस्तुओं के एक हिस्से की व्यवस्था है।
अच्छा क्रमपरिवर्तन एक क्रमचय है जिसमें $1\leqslant{i}\leqslant{N}$ और अनुसरण करता है,
$P_{pi}\:=\:i$
$P_{p!}\:=\:i$
समस्या को समझने के लिए एक उदाहरण लेते हैं,
Input : N = 1 Output : -1
समाधान दृष्टिकोण
समस्या का एक आसान समाधान क्रमपरिवर्तन . ढूँढना है p ऐसा है कि pi =मैं.
फिर हम pi . को संतुष्ट करने के लिए समीकरण पर पुनर्विचार करेंगे !=मैं। तो, एक मान x के लिए जैसे $2x \leqslant x$, हमारे पास p 2x - 1 है और पी 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