मुसीबत:
आपको एक प्रोग्राम बनाना चाहिए जो निम्नलिखित कार्य करता है:
- लोअरकेस पाठ की एक बड़ी स्ट्रिंग लेता है, और प्रत्येक अक्षर की सभी घटनाओं को गिनता है।
- तो आप सबसे बड़ी घटनाओं से कम से कम घटनाओं के लिए पत्र डालते हैं।
- फिर आप उस सूची को लेते हैं और उसे पाठ के लिए एनकोडर / डिकोडर में बदल देते हैं।
- फिर उस सिफर के साथ टेक्स्ट को एनकोड करता है।
समझने केलिए कठिन? इस उदाहरण को देखें:
उदाहरण:
इनपुट टेक्स्ट:
लॉरेम इप्सम डोलर अमेट, कंसेटेटुर एडिपिसिंग एलीट। Nun euismod पेलेमेसिक एसी सेड एनिम में ननक सेड। Nullam auctor justo quis diam faucibus, eu fringilla est porttitor। पेल्हेलेस्क वेल फेट्रा निसल। वेस्टिबुलम ने अल्ट्रिंस मैग्ना को एक फ्रिंजिला से सम्मानित किया। क्विस्क पोर्टरिटर, रिसस सुस्पिलिट पेलेरेसेक ट्रिस्टिक, ऑसी लॉरम एक्सीमेसन निसी, स्केलेरिस्क विवर्रा टर्पिस मेटस सिट एमेट सैपियन। फुस्से फैसिलिसिस डायम टर्पिस, नेक लॉबोर्टिस डब्ल्यूडब्ल्यू ब्लंडिट एनईसी। वेस्टिबुलम एसी urna यूट लैक्सस कमोडो सॉलिसिट्यूडिन नेक नॉन वेलिट। नलिका शाप urna sem, tincidunt sem मोलेस्टी वेल में। Nullam fringilla ante eu dolor bibendum, posuere iaculis nunc lacinia। सेड एसी प्रेटियम इस्ट, वेल स्केलेरिस्क नाइल। फेसेलस लोबोर्टिस डोलर सॉडेल्स सपियन मोलिस हेंड्रिट। इंटेगर स्केलेरसिक अस्थायी टेलुस, विवर्रा वेरियस नेक मैटिस इन। इंटेगर पोर्टा वेस्टिबुलम विसल, et feugiat टॉर्चर tincidunt वेल। एनेन डिग्निसिम एलिफ़ेंड फौसीबस। मोरबी नेक नेक वेल ऐंट पुल्विनार मोलिस यूरोप में ipsum।
लोअरकेस में बदलें।
चार गिनती (प्रति पत्र। रिक्त स्थान और विराम चिह्न की अनदेखी):
[('ए', 49), ('बी', 11), ('सी', 34), ('डी', 22), ('ई', 93), ('एफ', 9), ( 'g', 10), ('h', 3), ('i', 89), ('j', 1), ('k', 0), ('l', 61), ('m) ', 31), (' एन ', 56), (' ओ ', 37), (' पी ', 20), (' क्यू ', 12), (' आर ', 47), (' एस '), 71), ('t', 59), ('u', 65), ('v', 15), ('w', 0), ('x', 0), ('y', 0) , ('z', 0)]
आदेशित चार गिनती:
[('ई', 93), ('आई', 89), ('एस', 71), ('यू', 65), ('एल', 61), ('टी', 59), ( 'एन', 56), ('ए', 49), ('आर', 47), ('ओ', 37), ('सी', 34), ('एम', 31), ('डी') ', 22), (' पी ', 20), (' वी ', 15), (' क्यू ', 12), (' बी ', 11), (' जी ', 10), (' एफ '), 9), ('h', 3), ('j', 1), ('k', 0), ('w', 0), ('x', 0), ('y', 0) , ('z', 0)]
फिर मूल और क्रमबद्ध सूचियों का उपयोग करके एक लुकअप तालिका बनाएं:
abcdefghijklmnopqrstuvwxyz
||||||||||||||||||||||||||
eisultnarocmdpvqbgfhjkwxyz
पायथन शब्दकोश:
{'o': 'v', 'n': 'p', 'm': 'd', 'l': 'm', 'k': 'c', 'j': 'o', 'i': 'r', 'h': 'a', 'g': 'n', 'f': 't', 'e': 'l', 'd': 'u', 'c': 's', 'b': 'i', 'a': 'e', 'z': 'z', 'y': 'y', 'x': 'x', 'w': 'w', 'v': 'k', 'u': 'j', 't': 'h', 's': 'f', 'r': 'g', 'q': 'b', 'p': 'q'}
और अब इस लुकअप टेबल के साथ मूल पाठ को एनकोड करें:
'लवगल्ड rqfjd uvmvg frh edlh, svpflshlhjg eurqrfsrpn lmrh। Njps flu ujr eh prfr ljrfdvu qlmmlphlfbjl es flu lprd। Njmmed ejshvg ojfhv bjrf ure tejsrijf, lj tgrpnrmme lfh qvghhrhvg। प्लम्फलफॉल्बजल klm qaeglhge prfm। Vlfhrijmjd svpnjl jmhgrslf denpe e tgrpnrmme Qjrfbjl qvghhrhvg, grfjf fjfsrqrh qlmmlphlfbjl hgrfhrbjl, vgsr mvgld Essjdfep prfr, fslmlgrfbjl krklgge hjgqrf dlhjffh edhdh edh Fjfsl tesrmrfrf ure hjgqrf, pls mvivghrf ujr imepurh pls। वेलफ्रीजमजड एस जीजीपी जेएच मेसजफ एसवीडीवुव एफएमएमआरएसएचआरजीपीयूपी पीएफवी पीपीएलएमआरएच। Njmme sjgfjf jgpe fld, eh hrpsrujph fld dvmlfhrl kkm। Njmmed tgrpnrmme ephl lj uvmvg irilpujd, qvfjlgl resjmrf pjps mesrpre। Slu es qglhrjd lfh, klm fslmlgrfbjl prfm। पैफल्मजफ मविविग्रफ उवमवग फवुमफेल फक्क्लेप डीव्म्फ्रफ अल्फुग्लर्ग। Iphlnlg fslmlgrfbjl hldqvg hlmmjf, krklgge kegrjf plbjl dehhrf rp। इफ्लनल्ग क्वेघे कोल्हृजमजद प्रफम, lh tljnreh hvghvg hrpsrujph klm एलिप्प urnprffrd lmlrtlpu tejsrijf। Mvgir pls plbjl klm ephl qjmkrpeg dvmmrf lj rp rqfjd। '
मुझे अजगर से प्यार है!
नियम:
- आपका कार्यक्रम एक स्ट्रिंग और आउटपुट को स्वीकार करेगा।
- कुछ भी करने से पहले सभी इनपुट को लोअरकेस में बदलें
- मुझे परवाह नहीं है कि आप सूची की छँटाई कैसे करते हैं, लेकिन केवल लोअरकेस अक्षरों को गिनते हैं
- डिक्रिप्टर बनाने के लिए बोनस अंक (-30) और डिक्रिप्शन सूची को कॉपी नहीं करना, इसे स्क्रैच से करें
- ये है कोड गोल्फ, इसलिए सबसे छोटा कोड जीतता है!
- मज़े करो!
Bonus points (-30) for making a decryptor (no copying the decryption list, do it from scratch? यह असंभव है! आपको ऐसा करने में सक्षम होने के लिए कुंजी (आपकी "डिक्रिप्शन सूची" उर्फ "लुकअप टेबल") की आवश्यकता होगी। बस एक सिफरटेक्स्ट लेना और किसी को डिक्रिप्टर प्रदान करने की अपेक्षा करना, जो बिना किसी कुंजी के उपयोग के बिना इसे प्लेनटेक्स्ट में बदल देता है, जैसे कि आप हमसे कोई प्रश्न पत्र या संख्या टाइप किए बिना स्टैकऑवरफ्लो को पोस्ट करने के लिए कह रहे हैं। सूचना सिद्धांत पहले से ही हमें बताता है कि आप कहीं से भी जानकारी प्राप्त नहीं कर सकते ... इसलिए आपके प्रतिस्थापन सिफर को लुकअप टेबल (उर्फ कुंजी) की आवश्यकता है।