पाई एक अपरिमेय संख्या है , जिसका अर्थ है कि इसका दशमलव प्रतिनिधित्व कभी भी समाप्त या दोहराता नहीं है।
पाई को 41 दशमलव अंकों (40 स्थानों) पर काट दिया गया है 3.1415926535897932384626433832795028841971
।
यदि हम दशमलव बिंदु को अनदेखा करते हैं और अंकों को सकारात्मक पूर्णांक के अनुक्रम के रूप में सूचीबद्ध करते हैं, तो डुप्लिकेट से बचने के लिए , हम प्राप्त करते हैं 3 1 4 15 9 2 6 5 35 8 97 93 23 84 62 64 33 83 27 950 28 841 971
( OEIS A064809 )।
(ध्यान दें कि 15
अनुक्रम में ऐसा प्रतीत होता है 1 5
क्योंकि 1
पहले से ही घटित हुआ था।
यह भी ध्यान रखें कि 0
ऐसा नहीं होता है क्योंकि यह सकारात्मक नहीं है; 950
इसमें पहला शून्य है।)
पहली क्रमिक संख्या के निर्माण के लिए हम इस अनुक्रम का उपयोग पाई के अंकों में अनुक्रमित करने के लिए करते हैं (पहला अंक 3, दूसरा 1, आदि)।
तो पहला पीरियेशनल नंबर का पहला डिजिट पाई का तीसरा डिजिट है,
दूसरा डिजिट पाई का 1 डिजिट का है,
तीसरा डिजिट पाई का चौथा डिजिट है,
चौथा पाइ का चौथा डिजिट है, चौथा पाइ का 15 वां डिजिट है,
और इसी तरह का दूसरा डिजिट है ।
पाई को नकल करने के लिए पहले अंक के बाद एक दशमलव बिंदु जोड़ा जाता है।
इस प्रकार 41 अंकों के लिए पहला क्रमिक संख्या है 4.3195195867462520687356193644029372991880
।
(ध्यान दें कि 30 वें अंक के लिए मुझे पीआई के 974 वें अंक तक जाना था।)
दूसरे पीरेशनल नंबर के निर्माण के लिए प्रक्रिया को पीआई के बजाय पहले पीरेशनल नंबर का उपयोग करके दोहराया जाता है। (पाई खुद को ज़ीरोथ पीरेशनल नंबर कहा जा सकता है।) इसलिए नया अनुक्रम है 4 3 1 9 5 19 58 ...
और पहला पीरियेशनल नंबर दूसरे को बनाने के लिए अनुक्रमित किया जाता है, जो शुरू होता है 9.14858...
।
इसके अलावा एक ही तरह से पीरेशनल नंबर बनाए जाते हैं, जिनमें से प्रत्येक को पहले एक से उत्पन्न किया जाता है।
चुनौती
आपका काम कम से कम कार्यक्रम संभव है कि दो पूर्णांकों में लेता है लिखना है, N
और D
, और आउटपुट N
वें pirrational संख्या छोटा करने के लिए D
दशमलव अंक।
D
हमेशा सकारात्मक है, लेकिन N
गैर नकारात्मक है, और D
जब ऑफ़ पाई अंक उत्पादन होना चाहिए N
0. है
जब D
1 है यह नहीं बात दशमलव बिंदु वर्तमान या नहीं है अगर है।
इनपुट को स्टडिन या कमांड लाइन से आना चाहिए और आउटपुट को stdout (या आपकी भाषा के निकटतम विकल्पों) पर जाना चाहिए।
आपका प्रोग्राम 2 N
और 16 केD
नीचे के सभी इनपुट मूल्यों के लिए काम करना चाहिए , लेकिन यह समय पर या कुशल होने की आवश्यकता नहीं है।
बाइट्स में सबसे छोटा कोड जीतता है।
(ध्यान दें कि अन्य आधारों में प्रायोगिक संख्याएँ बाहर निकलती हैं लेकिन इस चुनौती में सब कुछ आधार १० में किया गया है)
N=1
, D=13393
उदाहरण के लिए, आप पीआई के 31 दस लाखवाँ अंकों आवश्यकता होगी