कुज़नेत्सोव का अनुक्रम
(I made the name up, don't bother with Wikipedia or Google)
किसी भी संख्या को देखते हुए n > 0
, संख्या r
का उल्टा प्रतिनिधित्व करें n
। अंतिम परिणाम शून्य होने तक Iterate करें, नीचे दिए गए ऑपरेशन के द्वारा पुनरावृत्ति या अपनी पसंद की कार्यप्रणाली का उपयोग करके फ़ंक्शन में प्रत्येक पुनरावृत्ति का परिणाम पारित करें:
- यदि
r > n
उस पुनरावृत्ति के लिए परिणाम हैr % n
। - यदि
n > r
उस पुनरावृत्ति के लिए परिणाम हैn % r
। - यदि
n % r = 0
याr % n = 0
, आप पुनरावृत्ति को समाप्त करते हैं।
प्रत्येक निष्पादन का मध्यवर्ती परिणाम लें और उन्हें अंतिम उत्तर के लिए एक सरणी में संग्रहीत करें। प्रारंभिक संख्या n
अनुक्रम का हिस्सा नहीं है, न ही है 0
; उदाहरणों को सब कुछ थोड़ा और स्पष्ट करना चाहिए।
चलिए एक उदाहरण के माध्यम से चलते हैं n=32452345
।
54325423 % 32452345 = 21873078 # r > n, uses r % n
87037812 % 21873078 = 21418578 # r > n, uses r % n
87581412 % 21418578 = 1907100 # r > n, uses r % n
1907100 % 17091 = 9999 # n > r, uses n % r
9999 % 9999 = 0 # r % n = n % r = 0, terminated
Result: [21873078, 21418578, 1907100, 9999]
एक और उदाहरण n=12345678
:
87654321 % 12345678 = 1234575 # r > n, uses r % n
5754321 % 1234575 = 816021 # r > n, uses r % n
816021 % 120618 = 92313 # n > r, uses n % r
92313 % 31329 = 29655 # n > r, uses n % r
55692 % 29655 = 26037 # r > n, uses r % n
73062 % 26037 = 20988 # r > n, uses r % n
88902 % 20988 = 4950 # r > n, uses r % n
4950 % 594 = 198 # n > r, uses n % r
891 % 198 = 99 # r > n, uses r % n
99 % 99 = 0 # r % n = n % r = 0, terminated
Result: [1234575, 816021, 92313, 29655, 26037, 20988, 4950, 198, 99]
एक अंतिम उदाहरण n=11000
:
11000 % 11 = 0 # n % r = 0, terminated
Result: []
यह कोड-गोल्फ सबसे कम बाइट-काउंट जीत है।