मैं नंबर थ्योरी का बहुत बड़ा प्रशंसक हूं। संख्या सिद्धांत में एक बड़ी चीज मॉड्यूलर अंकगणित है; परिभाषा जा रहा है यदि और केवल यदि । करने के लिए एक मजेदार बात शक्तियों को बढ़ा रही है: खासकर जब मापांक एक प्रमुख संख्या है। विशेष रूप से, यह साबित हो गया है कि यदि और अपेक्षाकृत अभाज्य हैं ( अलावा कोई भी सामान्य कारक साझा नहीं करते हैं ) तो एक नंबर मौजूद है जैसे कि ।
मैं बताऊंगा कि व्यायाम एक उदाहरण से क्या होता है। आइए एक मापांक । कार्यक्रम या फ़ंक्शन का एक संभावित आउटपुट होगा:
3 2 6 4 5 1
2 4 1 2 4 1
6 1 6 1 6 1
4 2 1 4 2 1
5 4 6 2 3 1
1 1 1 1 1 1
प्रत्येक पंक्ति उस पंक्ति में पहले नंबर की शक्तियों की एक सूची है: पहली पंक्ति , जो बराबर है मोडुलो । ऊपर के वर्ग की दूसरी पंक्ति , वगैरह, अंतिम पंक्ति तक की शक्तियां हैं, जो केवल शक्तियां हैं ।
यह एक जादुई मोड्यूल वर्ग है क्योंकि:
- वर्ग सममित है; अर्थात, th कॉलम th रो के समान है।
- सभी मान से कम से कम एक बार दिखाई देते हैं।
नीचे लिए केवल अन्य मान्य आउटपुट है , जो शक्तियों से शुरू होता है :
5 4 6 2 3 1
4 2 1 4 2 1
6 1 6 1 6 1
2 4 1 2 4 1
3 2 6 4 5 1
1 1 1 1 1 1
चुनौती
एक फ़ंक्शन या प्रोग्राम बनाएं जो एक प्रमुख pआउटपुट को एक जादुई मोडुलो स्क्वायर देता है, अर्थात, साइड लंबाई के साथ एक वर्ग p-1, जैसे कि प्रत्येक पंक्ति पंक्ति में पहले तत्व की लगातार शक्तियों की एक सूची है, और कॉलम के लिए भी। सभी संख्याओं के बीच 0और pहोना चाहिए, और वर्ग में केवल उस सीमा में संख्याएँ हो सकती हैं।
इनपुट एक संख्या या एक स्ट्रिंग है, और आउटपुट ascii, एक मैट्रिक्स, सरणियों का एक सरणी (कोई भी उचित प्रारूप) हो सकता है।
यह कोड-गोल्फ है, इसलिए सबसे छोटा कोड जीतता है।