"प्राइम चींटी" एक अड़ियल जानवर है जो पूर्णांकों को नेविगेट करता है और उन्हें तब तक विभाजित करता है जब तक कि केवल प्राइम नहीं बचे हैं!
प्रारंभ में, हमारे पास एक अनंत सरणी है जिसमें सभी पूर्णांक हैं> = 2: [2,3,4,5,6,.. ]
p
सरणी पर चींटी की स्थिति होने दें । प्रारंभ में, p = 0
(सरणी 0-अनुक्रमित है)
प्रत्येक मोड़, चींटी इस प्रकार आगे बढ़ेगी:
- यदि
A[p]
प्रधान है, तो चींटी अगली स्थिति में जाती है:p ← p+1
- किसी और, अगर
A[p]
एक समग्र संख्या है, चलोq
अपने छोटे भाजक> 1. हो हम विभाजितA[p]
द्वाराq
, और हम जोड़नेq
के लिएA[p-1]
। चींटी पिछली स्थिति में जाती है:p ← p-1
यहाँ चींटी के लिए पहली चाल है:
2 3 4 5 6 7 8 9 ...
^
2 3 4 5 6 7 8 9 ...
^
2 3 4 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 7 3 7 8 9 ...
^
आपका कार्यक्रम n
चाल के बाद चींटी की स्थिति का उत्पादन करना चाहिए । (आप मान सकते हैं n <= 10000
)
परीक्षण के मामलों:
0 => 0
10 => 6
47 => 9
4734 => 274
10000 => 512
संपादित करें। आप 1-अनुक्रमित सूचियों का भी उपयोग कर सकते हैं, उपरोक्त परीक्षण मामले के लिए परिणाम 1, 7, 10, 275, 513 प्रदर्शित करना स्वीकार्य है।
यह कोड-गोल्फ है, इसलिए बाइट्स में सबसे कम कोड वाला कोड जीतता है।
n
(या क्या समग्र मामला कभी भी चींटी को शुरुआती के बाईं ओर धकेल सकता है 2
)।
1,7,10,275,513
यदि 1-इंडेक्सिंग कहा गया हो? या फिर उन्हें अपने आउटपुट से मेल खाना होगा।