मुझे लगता है कि Collatz अनुमान पहले से ही प्रसिद्ध है। लेकिन क्या होगा अगर हम नियमों को उलट दें?
पूर्णांक n> = 1 से प्रारंभ करें।
निम्नलिखित चरणों को दोहराएं:
यदि n सम है , तो इसे 3 से गुणा करें और 1 जोड़ें।
यदि n विषम है , तो 1 घटाएं और इसे 2 से विभाजित करें।
0 पर पहुंचने पर रुकें
Iterated नंबरों को प्रिंट करें।
परीक्षण के मामलों:
1 => 1, 0
2 => 2, 7, 3, 1, 0
3 => 3, 1, 0
10 => 10, 31, 15, 7, 3...
14 => 14, 43, 21, 10, ...
नियम:
यह क्रम बहुत अधिक संख्या में काम नहीं करता है क्योंकि यह एक अनंत लूप में प्रवेश करता है। आपको उन मामलों को संभालने की आवश्यकता नहीं है। केवल ऊपर दिए गए परीक्षण मामलों की छपाई ही पर्याप्त है।
मैंने जारी रखने के लिए एक वैध पूर्णांक देने के लिए 1 को घटाने और दो से विभाजित करने का सुझाव दिया, लेकिन इस तरह से गणना करने की आवश्यकता नहीं है। आप 2 से भाग कर सकते हैं और पूर्णांक या अन्य तरीकों से डाल सकते हैं जो अपेक्षित आउटपुट देंगे।
आपको प्रारंभिक इनपुट भी प्रिंट करना होगा।
आउटपुट को परीक्षण मामलों के रूप में स्वरूपित करने की आवश्यकता नहीं है। यह सिर्फ एक सुझाव था। हालांकि, पुनरावृत्त आदेश का सम्मान किया जाना चाहिए।
सबसे छोटा कोड जीतता है।
0
?