चुनौती
एक फ़ंक्शन या प्रोग्राम लिखें जो एक सकारात्मक दशमलव संख्या लेता है, इसे A कहें , और दो सकारात्मक संख्याओं, B और C को आउटपुट करें , जैसे:
- ए == बी बिट्कोर सी
- B और C के दशमलव में 0, 3 या 7 अंक नहीं होने चाहिए।
उदाहरण
>>> decompose(3)
1, 2
>>> decompose(7)
1, 6
>>> decompose(718)
121, 695
>>> decompose(99997)
2, 99999
>>> decompose(4294967296)
4294968218, 922
>>> decompose(5296080632396965608312971217160142474083606142654386510789497504098664630388377556711796340247136376)
6291484486961499292662848846261496489294168969458648464915998254691295448225881546425551225669515922,
1191982455588299219648819556299554251659915414942295896926425126251962564256469862862114191986258666
चूंकि अपघटन अद्वितीय नहीं है, इसलिए आपके फ़ंक्शन / प्रोग्राम को इन समान उदाहरणों के समान सटीक परिणाम देने की आवश्यकता नहीं है।
बहुत विस्तृत नियम
प्रस्तुतियाँ एक पूर्ण कार्य या कार्यक्रम के रूप में होनी चाहिए ।
importबयान करते अंतिम स्कोर की गणना में शामिल।आप मान सकते हैं कि इनपुट A में हमेशा 0, 3 या 7 का अंक होता है।
आप मान सकते हैं कि एक अपघटन हमेशा मौजूद होता है।
यदि आप भाषा के मानक पुस्तकालयों का हिस्सा हैं, तो आप BigInt का उपयोग कर सकते हैं या भाषा के de jure पैकेज मैनेजर के माध्यम से स्थापित किए जा सकते हैं ।
फ़ंक्शन तेज होना चाहिए। 100-अंकीय संख्या के खिलाए जाने पर, आधुनिक कंप्यूटर पर चलने में 20 सेकंड से अधिक नहीं होना चाहिए , और 10-अंकीय संख्या को खिलाए जाने पर 2 सेकंड से अधिक नहीं होना चाहिए ।
फ़ंक्शन / प्रोग्राम को कम से कम 100 अंकों तक इनपुट का समर्थन करना चाहिए ।
- यदि फ़ंक्शन / प्रोग्राम केवल एन <100 अंकों तक पूर्णांकों का समर्थन कर सकता है, तो अंतिम स्कोर पर + 10 × (100 / एन - 1) बाइट का जुर्माना होगा । यह गोल्फरों को प्रोत्साहित करने के लिए संख्याओं की एक विस्तृत श्रृंखला का समर्थन करने के लिए प्रोत्साहित करना है, भले ही आयात क्रिया हो सकता है।
नहीं है प्रस्तुति पर कोई प्रतिबंध नहीं इनपुट / आउटपुट के रूप में लंबे समय के रूप में वे दशमलव प्रतिनिधित्व स्पष्ट रूप से कर रहे हैं।
- फ़ंक्शन इनपुट और आउटपुट स्ट्रिंग्स / BigInts हो सकता है यदि अंतर्निहित पूर्णांक प्रकार पर्याप्त नहीं हैं।
- इनपुट फ़ंक्शन पैरामीटर, कमांड लाइन तर्क या एसटीडीआईएन से आ सकता है।
- फ़ंक्शन परिणाम वापस कर सकता है, या बस परिणाम को सीधे STDOUT में प्रिंट कर सकता है।
- हालाँकि, इनपुट / आउटपुट में हस्ताक्षरित अतिप्रवाह की अनुमति नहीं है।
- अनुमानित उत्तर बर्दाश्त नहीं किए जाते हैं, इनपुट / आउटपुट सटीक होना चाहिए।
स्कोरिंग
यह एक कोड-गोल्फ है । बाइट्स जीत में सबसे कम समाधान।
यदि प्रोग्राम केवल 100 अंकों से कम संख्या का समर्थन कर सकता है तो एक जुर्माना है:
- 64-बिट पूर्णांक (19 अंक) = +42 बाइट्स
- 63-बिट पूर्णांक (18 अंक) = +45 बाइट्स
- 53-बिट पूर्णांक (15 अंक) = +56 बाइट्स
- 31/32-बिट पूर्णांक (9 अंक) = +101 बाइट्स