कुज़नेत्सोव का अनुक्रम
(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: []
यह कोड-गोल्फ सबसे कम बाइट-काउंट जीत है।