इस कुंजी सिफर को लागू करें
लक्ष्य
एक निश्चित सिफर लागू करने के लिए एल्गोरिथ्म (एल्गोरिथम अनुभाग में समझाया गया) का उपयोग करें।
कार्यक्रम को एसटीडीआईएन या निकटतम उपलब्ध समतुल्य से इनपुट पढ़ना चाहिए, सिफरटेक्स्ट और एक कुंजी उत्पन्न करने के लिए एल्गोरिथ्म का उपयोग करना चाहिए।
सिफरटेक्स्ट और कुंजी को STDOUT या निकटतम उपलब्ध समकक्ष के लिए लिखा जाएगा। किसी भी प्रारूप को अनुमति दी जाती है, जब तक वह सिफरटेक्स्ट और कुंजी को आउटपुट करता है।
कलन विधि
स्ट्रिंग में वर्णों को संबंधित ASCII मानों में परिवर्तित करें। उदाहरण के लिए:
Hello -> 72 101 108 108 111
अगला, आपको 0-9 की सीमा में यादृच्छिक संख्या के साथ स्ट्रिंग के रूप में एक कुंजी उत्पन्न करने की आवश्यकता होगी।
Hello -> 62841
स्ट्रिंग के ASCII मूल्यों के लिए यादृच्छिक संख्या अनुक्रम में पूर्णांक जोड़ें। उपरोक्त उदाहरणों में, 72 78 हो जाएंगे, और 101 104 बन जाएंगे।
72 + 6 = 78, 101 + 2 = 103, 108 + 8 = 116, etc
इसके बाद, नए मानों को वापस वर्णों में बदलें। उपरोक्त उदाहरणों में, पाठ Hello
बन गया है Ngtpp
।
उदाहरण
(ये केवल उदाहरण हैं कि आउटपुट कैसा दिख सकता है। आउटपुट अलग-अलग हो सकता है और अलग-अलग होता है।)
Hello World
Lfrlu)_supg
41606984343
This will be encoded
Zhjs$~koo gj$iuhofgj
60104723305544750226
नियम
- आप मान सकते हैं कि इनपुट में az, AZ और रिक्त स्थान में केवल वर्ण होंगे।
- प्रस्तुतियाँ पूर्ण कार्यक्रम या कार्य होने चाहिए।
- प्रस्तुतियाँ बाइट्स में बनाई जाएंगी।
- मानक खामियों को मना किया जाता है।
- यह कोड-गोल्फ है, इसलिए सबसे छोटा कोड जीतता है।
(यह मेरी पहली चुनौतियों में से एक है, अगर इसमें कुछ गड़बड़ है, तो मुझे यह बताने के लिए स्वतंत्र महसूस करें कि मैं इसे कैसे सुधार सकता हूं।)
preferably with the format (ciphertext)\n(key).
"पसंदीदा विशेषताएं" और कोड गोल्फ बहुत अच्छी तरह से मिश्रण नहीं करते हैं। आपके लिए यह अनिवार्य होना चाहिए या अन्य आउटपुट स्वरूप की अनुमति देनी चाहिए। 3. क्या कुंजी को रिक्त स्थान के बिना मुद्रित करना होगा? सूची प्रारूप में इसे छापने के बारे में क्या है, उदा[0, 5, 2, ...]
?