(यह काफी क्लासिक हो सकता है लेकिन यह मेरी पहली पोस्ट है, इसलिए मैं अभी तक फैंसी सामान के लिए तैयार नहीं हूं)
Goodstein अनुक्रम इस प्रकार है एक इनपुट संख्या के लिए परिभाषित किया गया है:
एक प्रारंभिक संख्या n चुनें , b = 2 और दोहराएं:
- लिखने n heriditary आधार में ख अंकन
- n में सभी ( b ) s ( b +1) s और 1 को प्रतिस्थापित करें
- उत्पादन n के नए दशमलव मूल्यांकन
- वेतन वृद्धि b
वंशानुगत आधार संकेतन एक संख्या का अपघटन है जहां आधार प्रकट होने के लिए बड़ी संख्या है। उदाहरण:
83
HB3 में:3^(3+1)+2
226
HB2 में:2^(2^(2+1))+2^(2+1)+2
गुडस्टेन सीक्वेंस हमेशा 0 पर समाप्त होते हैं, लेकिन वे सबसे पहले बहुत तेजी से बड़े होते हैं इसलिए इसे पूर्ण अनुक्रम को आउटपुट करने के लिए नहीं कहा जाता है।
कार्य:
किसी भी उचित प्रारूप में एक इनपुट नंबर को देखते हुए, आपका काम इस संख्या के लिए गुडस्टोन अनुक्रम को कम से कम 10 ^ 25 या 0 तक पहुंचाने के लिए आउटपुट करना है
उदाहरण:
Input: 3
Output: 3, 3, 3, 2, 1, 0
Input: 13
Output: 13, 108, 1279, 16092, 280711, 5765998, 134219479, 3486786855, 100000003325, 3138428381103, 106993205384715, 3937376385706415, 155568095557821073, 6568408355712901455, 295147905179352838943, 14063084452067725006646, 708235345355337676376131, 37589973457545958193377292
Input: 38
Output: 38, 22876792454990
विवरण:
- इनपुट संख्या एक सरणी, एक स्ट्रिंग, एक पूर्णांक हो सकती है, जब तक कि यह दशमलव आधार में है
- आउटपुट उसी नियम का पालन करता है
- आउटपुट में शर्तों का पृथक्करण रिक्त स्थान, नई-पंक्तियाँ, या कोई उचित पृथक्करण हो सकता है
- जैसे ही अनुक्रम 10 ^ 25 से बड़ा हो जाता है, आपका प्रोग्राम सामान्य रूप से बाहर निकल सकता है, एक त्रुटि / अपवाद फेंक सकता है, या जारी रख सकता है (कोई प्रतिबंध नहीं)
- यह कोड-गोल्फ है , इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है
- बेशक, मानक खामियों को मना किया जाता है
- पायथन ने यहां काम करने का उदाहरण दिया
int(q/base.b), q%base.b
की जरूरत होने के लिए q//base.b, q%base.b
(या बस divmod(q, base.b)
) फ्लोटिंग प्वाइंट त्रुटियों से बचने के।