वर्ण साझा किए बिना स्ट्रिंग्स प्रिंट करें


15

संपादित करें: व्हाट्सएप का पुन: उपयोग करने की अनुमति।

आपका कार्य n प्रोग्राम्स (या फ़ंक्शंस, या फ़ंक्शंस के बॉडीज़ को मापदंडों या फ़ंक्शन नामों का उपयोग किए बिना) उसी भाषा में लिखना है । कश्मीर वें कार्यक्रम उत्पादन करना चाहिए (कार्डिनल) संख्या कश्मीर मानक अंग्रेजी में छोटे अक्षरों में (एक वैकल्पिक अनुगामी न्यू लाइन के साथ)। तो पहला प्रोग्राम आउटपुट होना चाहिए one, दूसरा आउटपुट होना चाहिए two, आदि दो भागों वाले नंबर के लिए, उन्हें एक हाइफ़न की तरह अलग किया जाना चाहिए twenty-one

लेकिन आपके प्रस्तुतिकरण में कोई भी दो कार्यक्रम गैर-व्हाट्सएप पात्रों या व्हाट्सएप पात्रों को उपयोगी कार्य करने में साझा नहीं कर सकते हैं। उदाहरण के लिए, यदि आपका पहला कार्यक्रम बस है "one", की तो कोई भी " o nऔर eफिर अपने अन्य कार्यक्रमों में इस्तेमाल किया जा सकता।

आप दो या दो से अधिक कार्यक्रमों में व्हाट्सएप कैरेक्टर (स्पेस, न्यूलाइन्स और टैब) का उपयोग कर सकते हैं, यदि वे केवल विभाजक या इंडेंटेशन के रूप में काम करते हैं और खुद से कुछ भी नहीं करते हैं। इसलिए आप उन्हें व्हॉट्सएप भाषा में पुन: उपयोग नहीं कर सकते हैं, और आप उन्हें एक से अधिक कार्यक्रमों में तार में उपयोग नहीं कर सकते।

आप केवल मुद्रण योग्य ASCII वर्ण, टैब, और नईलाइन (CR और LF सहित) का उपयोग कर सकते हैं। प्रत्येक कार्यक्रम में कम से कम 1 वर्ण होना चाहिए।

आपका स्कोर 1 / कार्यक्रम आकार ^ 1.5 का योग है। उच्चतम स्कोर जीतता है। अपने स्कोर की गणना करने के लिए आप इस Stack Snippet ( या इस CJam कोड ) का उपयोग कर सकते हैं :

function updatescore(a){var l=a.value.split("\n"),s=0;for(var i=0;i<l.length;i++){var t=l[i].length;t-=t&&l[i][t-1]=="\r";if(t)s+=Math.pow(t,-1.5);}document.getElementById('result').textContent=s;}
<textarea id="input" placeholder="Put your code here, one per line." style="width:100%;height:150px;box-sizing:border-box" oninput="updatescore(this)" onpropertychange="updatescore(this)"></textarea><div>Your score: <span id="result">0</span></div>


एक बेहतर स्कोरिंग नियम 1 / (प्रोग्राम आकार + सी) ^ 1.5 का योग हो सकता है, जहां सी एक स्थिर है। लेकिन मुझे लगता है कि इसे बदलने में शायद बहुत देर हो चुकी है।
jimmy23013

क्या हम एक उच्च कार्डिनल संख्या प्राप्त करने के लिए एक गुणक जोड़ सकते हैं, क्योंकि यह लक्ष्य प्रतीत होता है? मैं बारह तक पहुँच गया, अन्य सभी की तुलना में अधिक, लेकिन फिर भी मैं हार रहा हूँ।
mbomb007

@ mbomb007 हेडस्क्स जानबूझकर कम स्कोर बनाने के लिए क्षमा करें। लेकिन अगर हेडस्किक्स का दूसरों के लिए समान स्कोर है, तो मुझे लगता है कि ग्लिफ़ो बहुत अधिक जीतेगा (पेंगुइन कहने के लिए नहीं)।
jimmy23013

मैं इसे
व्हॉट्सएप

1
@ mbomb007 अगर मैं फिर से इसी तरह का सवाल पूछ रहा हूं, तो शायद मैं स्कोर में प्रोग्राम के आकार में एक छोटा सा जोड़ दूंगा। लेकिन इस सवाल में बदलाव करना बहुत ही मनमाना है।
jimmy23013

जवाबों:


6

gs2 , 0.38669200758867045

इन सभी कार्यक्रमों में से व्हाट्सएप निकालें लेकिन तीन , यह केवल (खांसी) पठनीयता के लिए है। एक और छह gs2 प्रोग्राम हैं जो क्रैश (स्टैक को अंडरफ्लो करके) करते हैं, जो उन्हें आसानी से क्वीन बनाता है

एक (3 बाइट्स)

one

दो (1384 बाइट्स)

A?"A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0
A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0
A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0
A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0
A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0
A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0000000000000
000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000A?"A"0A"0A"0A"0A
"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A
"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A
"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A
"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A
"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A
"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"00000000000000000000
000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000A?"A"0A"0A"0A"0A"0A"
0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"
0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"
0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"
0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"
0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"0A"
0A"0A"0A"0A"000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
0000

तीन (92 बाइट्स)

0a 21 2c 21 20 21 20 21 20 21 20 21 20 21 20 21
20 21 20 21 20 21 20 21 20 21 20 21 20 21 20 21
20 21 20 2f 20 0a 21 28 3c 0a 21 2c 21 20 21 20
21 20 21 20 2f 20 0a 21 28 3c 45 21 20 21 20 21
2f 20 0a 21 28 3c 0a 21 2c 21 20 2f 20 0a 21 28
3c 0a 21 2c 21 20 2f 20 0a 21 28 3c

यहाँ एक हेक्स डंप है तो बहुत सारे व्हॉट्सएप। इसकी शुरुआत में एकल पंक्ति फ़ीड वर्ण है:


!,! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! / 
!(<
!,! ! ! ! / 
!(<E! ! !/ 
!(<
!,! / 
!(<
!,! / 
!(<

चार (276 बाइट्स)

f$f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$
31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$
31Mf$f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f$f$31f
$f$31f$f$31Mf$f$f$31f$f$31f$f$31f$f$31f$f$31Mf$f$f$31f$f$31f
$f$31f$f$31f$f$31f$f$31f$f$31f$f$31M

पांच (178 बाइट्स)

hd+++&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Khd+++&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Khd+++&&&&&&&&&&&&&&&&&&&&
&&&&&&&Khd+++&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&K

छह (3 बाइट्स)

six

मैंने उस आवश्यकता को नहीं देखा था - मैं मध्यवर्ती समाधानों के माध्यम से जाऊंगा।
लिन

मैं उपयोग करने के लिए मिल 20के माध्यम से 7E, 09(टैब), 0A(वामो), और 0D(सीआर), है ना?
लिन

हाँ। सीआर को स्पष्ट रूप से अनुमति देने के लिए संपादित।
jimmy23013

1में पाँच लिखने में कोई त्रुटि थी; मैंने जाकर इसे हटा दिया है। मैं अब तीन ठीक कर दूँगा ।
लिन

2
प्रोग्राम एक और छह अनिवार्य रूप से वाक्यविन्यास त्रुटियाँ हैं जो स्रोत कोड को STDOUT में डंप करती हैं और STDERR पर एक त्रुटि दिखाती हैं। सर्वसम्मति से लगता है कि यह ठीक है (इसलिए कुडोस) लेकिन आपको अपने उत्तर में इसका उल्लेख करना चाहिए।
डेनिस

13

सीजेएम, 0.24075

कार्यक्रम

BA1]100cf|
"two"
{hree}`W<7a.-
N)92+_9+_6+_2~+
S(84^I^U$F^X$G^Y$(
's'i'x

उनके सुझाव का उपयोग करने के लिए @ user23013 के लिए धन्यवाद 'के लिए छह

आउटपुट, लंबाई, स्कोर, प्रयुक्त अक्षर

one    10  0.03162          01       AB         ]    c f         |  
two     5  0.08944  "                                     o  tw     
three  13  0.02133        -.     7  <        W     `a e h  r    { } 
four   15  0.01721      )+    2 6  9      N       _                ~
five   18  0.01309   $ (       4  8    FGI SU XY ^                  
six     6  0.06804    '                                  i  s  x

सीजेएम दुभाषिया में परिणामों को स्वयं सत्यापित करें ।


6

अनिद्रा , 0.100688383057110116

बस चीजें शुरू करने के लिए। यह बहुत संभावना नहीं है कि यह जीतने वाला है। वर्तमान स्कोरिंग योजना के तहत, कोई भी भाषा जो प्रिंट कर सकती हैone 5 या उससे कम वर्णों में को अत्यधिक लाभ होता है।

एक (8 बाइट्स, 0.04419417382415922)

uuyp>~p~

दो (9 बाइट्स, 0.037037037037037035)

oeoojdoLj

तीन (21 बाइट्स, 0.010391328106475828)

*FFFFF
=
=z"
n=nnFzzB

चार (23 बाइट्स, 0.009065844089438033)

)HGGGkGGGtGkGk<GGh$HGGt

4

हेडसेट्स , 0.044623631135793776

यहाँ उत्पन्न हुआ

यह भाषा एक साधारण बीएफ प्रतिस्थापन है जहां केवल एक चीज जो मायने रखती है वह है चरित्र मान modulo 8।

दुर्भाग्य से, लंबे समय तक कार्यक्रमों के लिए प्राप्त करने में सक्षम होने के बावजूद एक भी बदतर स्कोर दे बारह ! (यदि मैं गैर-मुद्रण योग्य ASCII, और यूनिकोड का उपयोग कर सकता हूं तो मुझे अधिक मिल सकता है।)

एक

##%%%%%%%&##$%&#&%&%%%%%%%%%&

दो

--------+--.+++,-..+++.--------.

तीन

5555555535563334566555555555555633333333336555555555555566

चार

==;=====>;<=>>;;;;;;;;;>;;;;;;>===>

पांच

EECEEEEEFCDEFFCCCFCEFCCCCCCDEFFCCEFCCCDEFF

छह

KKMMMMMMMMMNKKLMNKNMMMMMMMMMMNMKMMMNKLMNN

सात

SSUUUUUUUUUVSSTUVSVSSSSSUVSSSTUVVSUUUVSTUVUVSSUVSSSTUVVSSSSSSSSSV

आठ

]][]]]]]^[\]^]^[[[[^]]^[^[[[[[[[[[[[[^

नौ

cceeeeeeefccdeffeeeeefcccccfeeeeeeeeef

दस

mmmmmmmmkmmnkkklmnnkkkkmnkkklmnnkkkkkkkkkn

ग्यारह

uusuuuuuvstuvuvsssssssvuuuuuuuvsuuuvstuvuvssuvssstuvvsssssssssv

बारह

}}}}}}}}{}}~{{{|}~~{{{~{}~{{{|}~~{{{{{{{~{{{{{{{{{{~{{}~{{{|}~~

आप केवल मुद्रण योग्य ASCII वर्ण, टैब और नई सूची का उपयोग कर सकते हैं।
jimmy23013

@ user23013 मैं जितना कर सकता था, मैंने किया और मुझे 12.
mbomb007

2

/// , 0.19245008972987526

one

यह उत्तर @ n̴̖̋h̷͉̃a ish̷̰̀ĥ̷̳d answer के उत्तर से प्रेरित है, जिसमें उन्होंने कहा था

वर्तमान स्कोरिंग योजना के तहत, कोई भी भाषा जो one5 या उससे कम वर्णों में मुद्रित हो सकती है, को अत्यधिक लाभ होता है।


ठीक है, स्कोरिंग एल्गोरिथ्म में एक खामी है। बहुत बढ़िया।
डेनिस

ठीक है, इस सवाल को सैंडबॉक्स किया गया है ताकि बेहतर स्कोरिंग पद्धति प्राप्त की जा सके। और यह अभी भी अच्छी तरह से काम नहीं किया ... यह PHP, ASP, आदि में भी काम करता है
jimmy23013

0

स्माइलबासिक, .10062

"एक"

?"one

"दो"

PRINT MID$(@two,1,3)

मेरा अन्य उत्तर अधिक दिलचस्प है, लेकिन यह एक उच्च स्कोर प्राप्त करता है।

सबसे लंबी श्रृंखला पाने के लिए एक महत्वपूर्ण रणनीति UNIQUE वर्णों को बचाने के लिए MORE वर्णों का उपयोग करना है (उदाहरण के लिए, x - -xप्रोग्राम 2 में प्रोग्राम 3 को बचाने के y + yलिए उपयोग करना )

स्कोरिंग सिस्टम के साथ समस्या यह है कि यह 3 लंबे कार्यक्रमों की तुलना में 2 छोटे कार्यक्रमों को बेहतर बनाता है, इसलिए यदि वर्तमान कार्यक्रम को लंबा बनाता है तो बाद के कार्यक्रमों के लिए पात्रों को बचाने का कोई कारण नहीं है।

इसके अलावा, यह एक छोटे से छोटे आकार से अधिक व्यक्तिगत छोटे कार्यक्रमों को महत्व देता है। अगर मैं अदला ?- बदली करता हूं और PRINTमेरे जवाब में मैं 1 चरित्र बचा सकता हूं, लेकिन मेरा स्कोर HALF जितना है।

मुझे लगता है कि एक टाईब्रेकर के रूप में कुल आकार के साथ इसे केवल कार्यक्रमों की संख्या के आधार पर करना बेहतर होगा ।


3
मुझे लगता है कि दोनों कार्यक्रम एक साझा कर रहे हैं o...
JayCe
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.