चुनौती
कोड की सबसे छोटी राशि में:
- किसी भी आकार n (जहां n even 2 और n सम है) के कार्ड के डेक पर एक परिपूर्ण फेरबदल के क्रमन चक्र की लंबाई की गणना करें ।
- 2 ≤ n n 1000 ( n even) के लिए सभी चक्र लंबाई की एक तालिका आउटपुट करें ।
ध्यान दें कि एक सही फेरबदल को परिभाषित करने के दो बुनियादी तरीके हैं। नहीं है बाहर फेरबदल है, जो शीर्ष पर पहले कार्ड और तल पर पिछले कार्ड रखता है, और वहाँ में फेरबदल , जो केंद्र की ओर पहला और अंतिम कार्ड एक स्थान ले जाता है। आप चुन सकते हैं कि आप एक आउट-शफ़ल या इन-शफ़ल कर रहे हैं या नहीं; एल्गोरिथ्म दोनों के बीच लगभग समान है।
- 10-कार्ड डेक के बाहर फेरबदल : [1,2,3,4,5,6,7,8,9,10] 1, [1,6,2,7,3,8,4,9,5, 10]।
- इन-फेरबदल के 10 पत्तों का डेक: [1,2,3,4,5,6,7,8,9,10] ↦ [6,1,7,2,8,3,9,4,10, 5]।
चित्रमय उदाहरण
यहां, हम देखते हैं कि 20-कार्ड डेक पर एक आउट-शफल में 18 चरणों की एक चक्र लंबाई होती है। (यह केवल चित्रण के लिए है; आपके समाधान को ग्राफ़िकल रूप से साइकिल के उत्पादन की आवश्यकता नहीं है।) दूसरी ओर, क्लासिक 52-कार्ड डेक में केवल 8 चरणों की एक आउट-शफ़ल चक्र लंबाई है (नहीं दिखाया गया है)।
एक में फेरबदल 20 कार्ड डेक पर केवल 6 चरणों का एक चक्र की लंबाई है।
आउटपुट का सारणीबद्ध उदाहरण
आपका कार्यक्रम कुछ इसी तरह का उत्पादन करना चाहिए, हालांकि आप किसी भी सारणीबद्ध प्रारूप को चुन सकते हैं जो आपको सबसे अच्छा लगता है। यह एक फेरबदल के लिए है:
2 1
4 2
6 4
8 3
10 6
12 10
14 12
16 4
18 8
20 18
22 6
24 11
26 20
28 18
30 28
32 5
34 10
36 12
38 36
40 12
...many lines omitted...
1000 36
प्रशन
- क्या संख्या इनपुट n और उसके चक्र गणना के बीच कोई संबंध प्रतीत होता है , जब n 2 की शक्ति है?
- कैसे जब n 2 की शक्ति नहीं है?
- उत्सुकता से, 1000-कार्ड डेक में केवल 36 का आउट-शफ़ल चक्र गणना होती है, जबकि 500-कार्ड डेक में 166 का आउट-शफ़ल चक्र गणना होती है। ऐसा क्यों हो सकता है?
- वह सबसे बड़ी संख्या जो आप पा सकते हैं जिसका चक्र गणना c , n से काफी छोटा है , जिसका अर्थ है कि n / c का अनुपात अधिकतम है?