मेरे दोस्त और मेरे पास यह खेल है जिसे हम शब्दों के साथ खेलते हैं। यह एक मजेदार शगल है और इसमें एक शब्द में "रद्द करना" अक्षरों को शामिल किया गया है जब तक कि कुछ भी नहीं बचा है। मैं वास्तव में उससे बहुत ज्यादा तेज हूं, क्योंकि वह इसे लागू करना आपका काम है और मुझे अंत में उसे हरा देना है। जाहिर है, चूंकि मुझे कार्यक्रम को जितना संभव हो सके छिपाने के लिए आसान बनाना है, यह संभव के रूप में छोटा होना है।
यह खेल कैसे काम करता है?
खेल एक बहुत ही सरल एल्गोरिथ्म है। यह एक वर्णमाला स्ट्रिंग को कम कर देता है जब तक कि इसे किसी भी और कम नहीं किया जा सकता है, इस प्रकार यह एक प्रकार का हैश बना रहा है। वास्तविक खेल जिसे हम मनुष्य करते हैं, उसे लागू करना बहुत कठिन है, लेकिन इसे निम्नलिखित एल्गोरिथ्म में सरल बनाया जा सकता है:
आप वर्णमाला को आधे में मोड़कर शुरू करते हैं और इस तरह दो टुकड़ों को अस्तर करते हैं:
a b c d e f g h i j k l m
z y x w v u t s r p q o n
फिर, बीच से शुरू करते हुए, आप सकारात्मक पूर्णांक को शीर्ष आधा और नकारात्मक को नीचे तक असाइन करते हैं:
a b c d e f g h i j k l m
13 12 11 10 9 8 7 6 5 4 3 2 1
z y x w v u t s r p q o n
-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
फिर आप अपना स्ट्रिंग लेते हैं (हम उपयोग कर रहे हैं hello world
) और किसी भी गैर-वर्णानुक्रमिक वर्ण को अनदेखा करते हुए , इसका अनुवाद करें:
h e l l o w o r l d
6 9 2 2 -2 -10 -2 -5 2 10
फिर आप अक्षर मानों को जोड़ते हैं। पहले वाले चित्र (जैसे d
और w
, l
और o
) में पंक्तिबद्ध लोग इसे रद्द कर देंगे, जबकि अन्य जोड़ देंगे।
sum(6 9 2 2 -2 -10 -2 -5 2 10 )=12
12 के लिए संख्या है b
, इसलिए हैश hello world
हैb
एक शब्द के लिए जो पूरी तरह से रद्द कर देता है (उदाहरण के लिए love
), आप "0 वर्ण" का उत्पादन करते हैं -
:। ध्यान दें कि इनपुट में, -
अभी भी अवहेलना होगी। यह केवल आउटपुट में मायने रखता है।
यदि संख्या का परिमाण 13 से बड़ा है, तो आप दोगुना करना शुरू करते हैं a
और z
's' आप मूल रूप से संख्या में फिट होते हैं a
या z
जो कुछ भी हो उसे अंतिम अक्षर में छोड़ देते हैं:
code golf: 43.
फिट बैठता है 3 a
और 4 छोड़ दिया है:
aaa 4: j
result: aaaj
संकेत: यह हिस्सा मूल रूप से divmod
सिवाय इसके कि यह शून्य की ओर गोल है, न कि -infinity
(जैसे -43 3 z
का हो जाएगा और -4
जो p
ऐसा है zzzp
)।
नोट: पानी का छींटा यदि नहीं आती a
है या z
'पूरी तरह से में फिट, केवल अगर यह ठीक है 0
।
स्पष्टीकरण:
- हैश संवेदनशील में मामला है
- मानक Loopholes की अनुमति नहीं है
- I / O किसी भी प्रारूप में हो सकता है जो बहुत अधिक नहीं है, stdin, stdout, कमांड-लाइन arg, function आदि।
- यह कोड-गोल्फ है इसलिए बाइट्स जीत में सबसे छोटा आकार ।
उदाहरण:
hello world --> b
love --> -
this is an example --> aak
hello *&*(&(*&%& world --> b
good bye --> ae
root users --> zzs
love
खाली है ...