एक प्रोथ नंबर , जिसका नाम फ्रांकोइस प्रोथ है, एक ऐसी संख्या है जिसे व्यक्त किया जा सकता है
N = k * 2^n + 1
k
एक विषम धनात्मक पूर्णांक कहाँ है और n
एक धनात्मक पूर्णांक ऐसा है 2^n > k
। आइए एक अधिक ठोस उदाहरण का उपयोग करें। टेक 3. 3 एक प्रोथ नंबर है क्योंकि इसे लिखा जा सकता है
(1 * 2^1) + 1
और 2^1 > 1
संतुष्ट है। 5 एक संख्या भी है क्योंकि इसे लिखा जा सकता है
(1 * 2^2) + 1
और 2^2 > 1
संतुष्ट है। हालांकि, 7 एक प्रोथ नंबर नहीं है क्योंकि इसे फॉर्म में लिखने का एकमात्र तरीका N = k * 2^n + 1
है
(3 * 2^1) + 1
और 2^1 > 3
संतुष्ट नहीं है।
आपकी चुनौती काफी सरल है: आपको एक प्रोग्राम या फ़ंक्शन लिखना होगा, जो एक पोस्टिव पूर्णांक देता है, यह निर्धारित करता है कि यह एक प्रॉथ नंबर है या नहीं। आप किसी भी उचित प्रारूप में इनपुट ले सकते हैं, और अगर यह नहीं है तो यह एक संख्या और गलत मूल्य है, तो एक सत्य मूल्य का उत्पादन करना चाहिए। यदि आपकी भाषा में कोई "प्रोथ-नंबर डिटेक्टिंग" फ़ंक्शन है, तो आप उनका उपयोग कर सकते हैं।
परीक्षण IO
यहाँ 1000 तक पहले 46 प्रोथ नम्बर हैं । ( A080075 )
3, 5, 9, 13, 17, 25, 33, 41, 49, 57, 65, 81, 97, 113, 129, 145, 161, 177, 193, 209, 225, 241, 257, 289, 321, 353, 385, 417, 449, 481, 513, 545, 577, 609, 641, 673, 705, 737, 769, 801, 833, 865, 897, 929, 961, 993
हर दूसरे वैध इनपुट को मिथ्या मूल्य देना चाहिए।
हमेशा की तरह, यह कोड-गोल्फ है, इसलिए मानक कमियां लागू होती हैं, और बाइट्स में सबसे कम जवाब जीतता है!
संख्या सिद्धांत मजेदार तथ्य तथ्य नोट:
सबसे बड़ा ज्ञात प्रधानमंत्री है कि नहीं एक Mersenne प्रधानमंत्री है 19249 * 2^13018586 + 1
जो सिर्फ इतना भी एक Proth संख्या होने के लिए होता है,!