एक प्राइमरी ( बाइनरी-प्राइम ) स्ट्रिंग वह है, जिसे बाइनरी ग्रिड के रूप में लिखा जाता है, प्रत्येक पंक्ति और कॉलम में एक कुल योग होता है।
यह काफी अस्पष्ट व्याख्या है, तो चलिए इसे एक उदाहरण के साथ तोड़ते हैं ...
इस उदाहरण के लिए हम स्ट्रिंग का उपयोग करेंगे bunny
:
सबसे पहले, प्रत्येक वर्ण और उसके बाइनरी प्रतिनिधित्व के ASCII कोड बिंदु को खोजें:
Char | ASCII | Binary
b 98 1100010
u 117 1110101
n 110 1101110
n 110 1101110
y 121 1111001
इन बाइनरी मानों को ऊपर से नीचे तक ले जाएं, और उन्हें ग्रिड में व्यवस्थित करें (यदि आवश्यक हो तो अग्रणी शून्य जोड़ते हुए)
1 1 0 0 0 1 0
1 1 1 0 1 0 1
1 1 0 1 1 1 0
1 1 0 1 1 1 0
1 1 1 1 0 0 1
फिर, 1
प्रत्येक पंक्ति और कॉलम में s की संख्या गिनें:
1 1 0 0 0 1 0 > 3
1 1 1 0 1 0 1 > 5
1 1 0 1 1 1 0 > 5
1 1 0 1 1 1 0 > 5
1 1 1 1 0 0 1 > 5
v v v v v v v
5 5 2 3 3 3 2
यदि, और केवल यदि, प्रत्येक एकल कुल प्रमुख है (जैसे कि यहाँ) तो स्ट्रिंग एक वैध बाइनरी-प्राइम है।
चुनौती
आपका कार्य एक फ़ंक्शन या प्रोग्राम बनाना है, जब एक स्ट्रिंग दी जाती है, तो रिटर्न / आउटपुट truthy
यदि स्ट्रिंग प्राइमरी है, और falsy
अन्यथा।
नियमों / विवरण
- आप मान सकते हैं कि स्ट्रिंग के अक्षर हमेशा ASCII रेंज
33-126
(समावेशी) में होंगे। - स्ट्रिंग खाली नहीं होगी।
- एक primenary स्ट्रिंग है नहीं एक प्रमुख लंबाई होना चाहिए - उदाहरण के लिए,
W1n*
4 अक्षर होने के बावजूद, मान्य है। - यह कोड-गोल्फ है , इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है - लेकिन सभी प्रस्तुतियाँ स्वागत योग्य हैं।
- मानक खामियों पर रोक लगाई जाती है।
परीक्षण के मामलों
'husband' -> True
'HOTJava' -> True
'COmPaTIBILE' -> True
'AuT0HACk' -> True
'PPCW' -> False
'code-golf' -> False
'C++' -> False
'/kD' -> False
'HI' -> False
'A' -> False
वहाँ भी एक काम कर रहा है, लेकिन अविश्वसनीय रूप से क्रिया पायथन उदाहरण पर repl.it है कि आप के खिलाफ अपने समाधान का परीक्षण कर सकते हैं।
False
, सही है?
0
और 1
प्राइम नहीं हैं, और हर 1-2 चार इनपुट स्ट्रिंग में दिए गए रेंज में केवल चार होते हैं, जिसमें कम से कम एक 0
या 1
एक ऊर्ध्वाधर राशि के रूप में शामिल होने की गारंटी होती है। आपको परीक्षण मामलों के रूप में कुछ 1 और 2 वर्ण तार जोड़ना चाहिए।
false
। 2 चार इनपुट हो सकते हैं, लेकिन ASCII रेंज में नहीं जिसका हम उपयोग कर रहे हैं, इसलिए इस परिदृश्य के लिए आप सही हैं।
husband
वैध था? या उनमें से कोई? बड़ी समस्या है, हालांकि!