कार्य एक समग्र संख्या के गैर-तुच्छ कारक को खोजना है।
कोड लिखें जो आपके कोड के लिए जितनी जल्दी हो सके एक गैर-तुच्छ कारक को अपने कोड के अधीन 140 बाइट्स से अधिक लंबे समय तक नहीं पाता है। आउटपुट केवल आपके द्वारा पाया गया कारक होना चाहिए।
आपका कोड इनपुट ले सकता है और किसी भी तरह से आउटपुट दे सकता है जो कि एक फ़ंक्शन के लिए तर्क के रूप में उदाहरण सहित सुविधाजनक है।
सभी मामलों को सूचीबद्ध करने वाले परीक्षण मामले (आपको केवल एक आउटपुट की आवश्यकता है)
187: 11 17
1679: 23 73
14369648346682547857: 1500450271 9576890767
34747575467581863011: 3628273133 9576890767
52634041113150420921061348357: 2860486313 5463458053 3367900313
82312263010898855308580978867: 264575131106459 311111111111113
205255454905325730631914319249: 2860486313 71755440315342536873
1233457775854251160763811229216063007: 1110111110111 1000000000063 1111111999999
1751952685614616185916001760791655006749: 36413321723440003717 48112959837082048697
मैं निम्नलिखित कठिन परीक्षा के मामले में आपका जवाब नहीं दूंगा जो परीक्षण के लिए रूचि का हो सकता है:
513231721363284898797712130584280850383: 40206835204840513073 12764787846358441471
स्कोर
आपका स्कोर प्रत्येक असफल कारक के लिए 10 मिनट के दंड के साथ उपरोक्त सभी परीक्षण मामलों को संयुक्त करने का समय है (सभी निकटतम दूसरे के लिए गोल)। आपका कोड अन्य पूर्णांकों के लिए भी काम करना चाहिए, जो कि केवल इन उत्तरों को हार्डकोड नहीं करना चाहिए।
मैं 10 मिनट के बाद आपका कोड बंद कर दूंगा।
अगर दो लोगों को समान स्कोर मिलता है तो पहला उत्तर जीत जाता है।
प्रतिबंध
आपका कोड किसी भी बिलिन या लाइब्रेरी फ़ंक्शन का उपयोग नहीं कर सकता है जो पूर्णांक फैक्टराइजेशन करता है। आप मान सकते हैं कि इनपुट 256 बिट से कम है। सभी इनपुट नंबर समग्र होंगे।
मैं समय कैसे दूंगा?
मैं time ./myprog
टाइमिंग करने के लिए अपने उबंटू सिस्टम पर शाब्दिक रूप से चलूंगा इसलिए कृपया मुझे चलाने के लिए एक पूरा कार्यक्रम भी प्रदान करें जिसमें आपके द्वारा परिभाषित कोई भी फ़ंक्शन शामिल हो।
संकलित भाषाओं के लिए एक नोट
संकलन का समय मेरी मशीन पर 1 मिनट से अधिक नहीं होना चाहिए।
क्या यह वास्तव में संभव है?
यदि आप अंतरिक्ष की कमी को अनदेखा करते हैं, तो प्रत्येक को शुद्ध पायथन कोड + पिपी का उपयोग करके मेरे कंप्यूटर पर 2 सेकंड से भी कम समय में फैक्टर किया जा सकता है।
तो एक गैर तुच्छ फैक्टरिंग एल्गोरिथ्म क्या है?
पोलार्ड का आरएच एल्गोरिथ्म तेज और गोल्फ के लिए उपयुक्त है। बेशक एक पूर्णांक कारक के रूप में अच्छी तरह से करने के लिए अन्य तरीके के बहुत सारे हैं ।
इससे भी तेज द्विघात चलनी है । यह 140 बाइट्स में निचोड़ करने के लिए एक गंभीर चुनौती की तरह दिखता है।
अग्रणी स्कोर
- SEJPM , आखिरी टेस्ट केस के लिए 10 मिनट की सजा + 16 सेकंड हास्केल में
2
या 2, 2
?
2 ** 1024
?