हम 4 धनात्मक पूर्णांक के साथ Collatz तरह के अनुक्रम को परिभाषित s
करते हैं:
n
मूल्य शुरूd > 1
भाजकm > 1
गुणकi
वेतन वृद्धि
(मूल Collatz अनुक्रम में d = 2
m = 3
और i = 1
।)
ये पूर्णांक s
निम्नलिखित तरीके से बनाए जाएंगे:
s(0) = n
- अगर
k > 0
औरs(k-1) mod d = 0
फिरs(k) = s(k-1) / d
- अगर
k > 0
औरs(k-1) mod d != 0
फिरs(k) = s(k-1) * m + i
के साथ एक उदाहरण अनुक्रम d = 2, m = 3, i = 5
और n = 80
होगा s = 80, 40, 20, 10, 5, 20, 10, 5, 20, ...
।
प्रत्येक अनुक्रम या तो किसी दिए गए बाउंड (यानी अनुक्रम डिवर्जेंट है) की तुलना में उच्च मूल्यों तक पहुंच जाएगा या यदि कुछ t
और u
( t!=u
) के लिए अनंत लूप में मिल s(t) = s(u)
जाएगा तो समानता सत्य होगी।
हमारी समस्या में अगर किसी अनुक्रम तत्व का मान 10^9
उससे बड़ा है या 1000
वें तत्व से पहले कोई तत्व दोहराव नहीं है तो अनुक्रम को विचलन माना जाता है।
काम
आपको एक प्रोग्राम या फ़ंक्शन लिखना चाहिए जो पॉजिटिव पूर्णांक लेता है d
m
और i
इनपुट के रूप में और सभी विभिन्न प्रकार के अनुक्रमों (अनंत छोरों और विचलन) को आउटपुट करता है जो शुरुआती मान n = 1, 2, 3, ... 999, 1000
उत्पन्न कर सकते हैं।
इनपुट विवरण
- इनपुट एक स्ट्रिंग या सूची (या अपनी भाषा में निकटतम समतुल्य) का प्रतिनिधित्व करने (सामान्य तरीके से) तीन धनात्मक पूर्णांक है
d
,m
औरi
इसी क्रम में।d
औरm
कम से कम हैं2
। न तो संख्या इससे बड़ी है100
।
आउटपुट विवरण
आउटपुट स्पेसिफिकेशन थोड़ा चिंताजनक है। पहले उदाहरणों को देखने के लायक हो सकते हैं।
- आपको मानक आउटपुट (या निकटतम विकल्प) के लिए आउटपुट करना चाहिए या एक स्ट्रिंग वापस करना चाहिए।
- यदि विचलन अनुक्रम संभव है तो पहली पंक्ति होनी चाहिए
DIVERGENT
। - अनुक्रम के लूप का एक अनूठा प्रतिनिधित्व यह रोटेशन है जहां सबसे छोटी संख्या अंतिम स्थान द्वारा अलग की गई है। जैसे अगर
s = 2 1 4 2 1 4 2 1
लूप है4 2 1
। - प्रत्येक निम्नलिखित पंक्ति में आपको शब्द द्वारा पूर्ववर्ती एक बार प्रत्येक अद्वितीय लूप का आउटपुट देना चाहिए
LOOP
। उदाहरण के लिएLOOP 4 2 1
- छोरों को उनके अंतिम तत्व के संबंध में आरोही क्रम में होना चाहिए।
- अनुगामी न्यूलाइन वैकल्पिक है।
उदाहरण:
पहली पंक्तियाँ इनपुट और निम्न हैं जब तक एक रिक्त रेखा आउटपुट नहीं होती है।
2 3 1
LOOP 4 2 1
2 2 6
LOOP 8 4 2 1
LOOP 12 6 3
3 7 8
DIVERGENT
LOOP 15 5 43 309 103 729 243 81 27 9 3 1
LOOP 22 162 54 18 6 2
LOOP 36 12 4
3 9 1
DIVERGENT
6 9 9
DIVERGENT
LOOP 18 3 36 6 1
LOOP 27 252 42 7 72 12 2
LOOP 45 414 69 630 105 954 159 1440 240 40 369 3330 555 5004 834 139 1260 210 35 324 54 9 90 15 144 24 4
LOOP 81 738 123 1116 186 31 288 48 8
LOOP 99 900 150 25 234 39 360 60 10
LOOP 126 21 198 33 306 51 468 78 13
10 10 10
LOOP 20 2 30 3 40 4 50 5 60 6 70 7 80 8 90 9 100 10 1
93 91 92
DIVERGENT
LOOP 2185 198927 2139 23
LOOP 4278 46
आइडोन पर पायथन 3 में संदर्भ कार्यान्वयन।
यह कोड-गोल्फ है इसलिए सबसे छोटी प्रविष्टि जीतती है।