आइए रिक्त स्थान का एक N × N ग्रिड बनाएं और एक संख्या के प्रमुख होने पर नेत्रहीन रूप से निर्धारित करने के लिए उपयोग किया जा सकता है। (एन कोई सकारात्मक पूर्णांक हो सकता है।)
इस ग्रिड के तीन सरल नियम हैं:
- Nth कॉलम में n - 1 अंडरस्कोर के दोहराए गए पैटर्न होते हैं जिसके बाद एक स्थान होता है। यह पैटर्न पहली पंक्ति में शुरू होता है और रो N. (पंक्तियों और स्तंभों को 1-अनुक्रमित किया जाता है) पर संभवतः मध्य-पैटर्न को रोका जाता है।)
- पहले कॉलम को सभी स्थानों के बजाय सभी अंडरस्कोर के साथ बदल दिया जाता है।
- यदि कोई स्थान कहीं होता है तो पंक्ति सूचकांक स्तंभ सूचकांक के बराबर होता है जिसे इसे अंडरस्कोर से बदल दिया जाता है।
उदाहरण: N = 10
1
1234567890 <-- column indices
1__________
2__________
3__________
4_ ________
5__________
6_ _______
7__________
8_ _ ______
9__ _______
10_ __ _____
^ row indices
सूचकांक सिर्फ स्पष्टता के लिए हैं। सादा ग्रिड ही (आपका कार्यक्रम क्या होना चाहिए):
__________
__________
__________
_ ________
__________
_ _______
__________
_ _ ______
__ _______
_ __ _____
नोटिस जो:
- पहला कॉलम सभी अंडरस्कोर है।
- पंक्ति 2 पर अंडरस्कोर को छोड़कर दूसरा कॉलम अंडरस्कोर स्पेस, अंडरस्कोर स्पेस इत्यादि जाता है।
- तीसरा स्तंभ अंडरस्कोर स्पेस को अंडरस्कोर करता है, अंडरस्कोर स्पेस को अंडरस्कोर करता है, आदि, सिवाय अंडर 3 के अंडरस्कोर के।
- आदि।
यह भी ध्यान दें कि 1 के अलावा, प्रत्येक कॉलम में केवल प्राइम संख्या वाली पंक्तियों में अंडरस्कोर होते हैं।
चूंकि अंडरस्कोर संपूर्ण फ़ॉन्ट चौड़ाई में फैला है, इसलिए प्रत्येक प्राइम क्रमांकित पंक्ति एक निरंतर ठोस रेखा बनाती है। इसलिए यह जाँचना कि क्या कोई संख्या अभाज्य है या नहीं, नेत्रहीन है; बस जांचें कि क्या इसकी रेखा सभी स्तंभों में ठोस है। (वास्तव में पंक्ति सूचकांक के वर्गमूल को देखना पर्याप्त होता है लेकिन उस ग्रिड का उत्पादन कम सुरुचिपूर्ण लगता है।)
कार्यक्रम
एक प्रोग्राम लिखें जो एन को स्टड (या निकटतम विकल्प) के माध्यम से दिए गए इन ग्रिडों को आकर्षित करेगा। आउटपुट स्टडआउट (या निकटतम वैकल्पिक) पर जाता है और इसमें केवल वैकल्पिक अनुरेखण रेखा के साथ रिक्त स्थान, अंडरस्कोर, और न्यूलाइन शामिल होना चाहिए।
सबसे छोटा कोड जीतता है।
n
वीं लाइन, बनाने k
वें चरित्र एक अंतरिक्ष यदि k
का एक भाजक है m
कि 1 या नहीं है m
।