सरल भाग: केवल इनपुट करने योग्य स्ट्रिंग जिसमें केवल मुद्रण योग्य ASCII- वर्ण (स्पेस - टिल्ड) है, को देखते हुए प्रत्येक वर्ण की घटनाओं की संख्या की गणना करें और परिणाम को किसी भी सुविधाजनक प्रारूप पर लौटाएं। एक स्ट्रिंग के लिए परिणाम a%hda7a
की तरह कुछ किया जाना चाहिए: a:3, %:1, h:1, 7:1, d:1
। सॉर्टिंग अनावश्यक है, सीमांकक और प्रारूप वैकल्पिक हैं लेकिन यह आसानी से समझा जाना चाहिए कि कौन सी संख्या किस वर्ण से मेल खाती है। आप उन वर्णों को शामिल नहीं करेंगे जो इनपुट स्ट्रिंग a:3, b:0, c:0, d:1, ...
में नहीं हैं ( यह ठीक नहीं है)।
असली चुनौती:
अपने कोड के प्रत्येक वर्ण को 8-बिट बाइनरी नंबर (या 16-बिट में यदि आप UTF-16 या इसी तरह का उपयोग कर रहे हैं) में कनवर्ट करें, और प्रत्येक वर्ण को शुरू करें 0
।
प्रत्येक वर्ण ( i
एन्यूमरेटर) के लिए, i%7
-बिट 1 होना चाहिए 1
। बिट्स को दाईं ओर से गिना जाता है। अन्य सभी बिट्स आप जो चाहें कर सकते हैं।
उदाहरण के रूप में निम्नलिखित कोड का उपयोग करते हैं:
[f]-xif)#f
इसे बाइनरी में बदलने से हमें नीचे दी गई सारणी मिलती है। पहले नंबर (का प्रतिनिधित्व करने [
के लिए एक है 1
कि एक ठीक है 0'th स्थिति में,। दूसरे नंबर (का प्रतिनिधित्व f
एक है 1
1'st स्थिति में है, ताकि एक ठीक भी है। इस तरह जारी रखें, और आप देखेंगे कि ऊपर का कोड मान्य है।
C 76543210 बिट संख्या - -------- ---------- [०१०११०१ १ ० - ठीक है f 011001 1 0 1 - ठीक है ] 01011 1 01 2 - ठीक है - 0010 1 101 3 - ठीक है x 011 1 1000 4 - ठीक है i 01 1 01001 5 - ठीक है f 0 1 100110 6 - ठीक है ) 0010100 1 0 - ठीक है # 001000 1 1 1 - ठीक है f 01100 1 10 2 - ठीक है
यदि हम कोड को इसमें बदलते हैं: ]f[-xif)#f
तो हमें अनुक्रम की शुरुआत मिलेगी:
C 76543210 Bit number
- -------- ----------
] 01011101 0 <- OK
f 01100110 1 <- OK
[ 01011011 2 <- Not OK
- 00101101 3 <- OK
हम देखते हैं के रूप में, तीसरे चरित्र [
एक नहीं है 1
2 स्थिति (शून्य अनुक्रमित) में है, और इस कोड इसलिए मान्य नहीं है।
परीक्षण के मामलों:
Input:
This is a string containing some symbols: ".#!".#&/#
Output:
! " # & / : T a b c e g h i l m n o r s t y .
7 1 2 3 1 1 1 1 2 1 1 1 2 1 5 1 2 4 3 1 6 2 1 2
कोई भी उचित आउटपुट प्रारूप ठीक है (जो भी आपके लिए सबसे सुविधाजनक है)। आप उदाहरण के लिए हो सकता है: :7, !:1, ":2, #:3, &:1, /:1, T:1, a:2 ...
या [ ,7][!,1][",2][#,3][&,1]...
। आउटपुट किसी भी मानक तरीके पर है (फ़ंक्शन से वापस, STDOUT आदि के लिए मुद्रित)
1i
मापांक 7
।
यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कोड रेफरी जीत जाएगा ।
00001010
। यह उपयोगी भी हो सकता है! :)
n%7
th स्पॉट> pastie.org/paste/10985263/text