यह एक सरल एन्क्रिप्शन विधि है जो किसी संदेश को एनकोड करने के लिए PI अंकों का उपयोग करती है, यह विधि सरल है:
कुंजी सिर्फ एक धनात्मक पूर्णांक है जो इंगित करता है कि विंडो कहाँ से शुरू होती है:
एन्क्रिप्ट करने के लिए एक स्ट्रिंग को देखते हुए, केवल लोअरकेस अक्षर होते हैं, कोई रिक्त स्थान नहीं, आप इसकी लंबाई लेते हैं, फिर आप पीआई का एनटी अंक पाते हैं और फिर अंक द्वारा इंगित राशि के लिए हर अक्षर को दाईं ओर स्थानांतरित करने के लिए आगे बढ़ते हैं।
उदाहरण के लिए, यदि कुंजी है 2
और मैं एनकोड करना चाहता हूं house
, तो मैं दूसरे से 5 अंकों की एक विंडो लेता हूं: 14159
और फिर यह है:
h -> i
o -> s
u -> v
s -> x
e -> n
a.- आपके प्रोग्राम / फंक्शन / एल्गोरिथ्म में दो पैरामीटर प्राप्त होंगे, एक स्ट्रिंग जो केवल लोअरकेस अक्षरों से बना होता है जिसमें कोई रिक्त स्थान और कुंजी नहीं होती है, जो कि 1 (1 से 3 और 1000) के बीच एक सकारात्मक पूर्णांक होगा, जो अधिक हो सकता है या कम के रूप में मुझे यकीन नहीं है कि पीआई की गणना करने में कितना समय लगता है क्योंकि कहा सटीकता के साथ:
b.- आपको अपने कोड में पीआई की गणना करनी चाहिए, यहाँ की तुलना करने के लिए एक साफ-सुथरा वेबपेज है: Pi Day । इनपुट में आपके पास कभी भी 1000 अंकों से परे पीआई की गणना नहीं होनी चाहिए, जिसका अर्थ है कि लंबाई (संदेश) + कुंजी <= 1000।
पाई की गणना करके, मेरा मतलब है कि इसे आपके कोड में (कोड गोल्फ के लिए मूर्खतापूर्ण) न तो और न ही आपके कोड में कोई एम्बेडेड स्थिरांक का उपयोग करें और न ही किसी त्रिकोणमितीय पहचान (2 * acos (0)) का और न ही किसी वेब सन्दर्भ का।
c.- आउटपुट सिर्फ एन्क्रिप्टेड स्ट्रिंग होगा।
यह एक कोड गोल्फ प्रश्न है, कम कोड जीतता है!
मैं 14 जुलाई 2014 को विजेता उत्तर स्वीकार करूंगा।
ArcCos(-1)
?