इस समस्या में, हम एक पूर्णांक मान 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