10 में AZ, आप देखते हैं?


15

मेरी पिछली चुनौती तक अनुवर्ती शब्दों के साथ 20 तक गणना करें! , हम एक बार फिर एक और कार्य करने के लिए उस चुनौती से शब्द सूची का उपयोग करेंगे। इस बार, आप विशेष रूप से उपयोग करेंगे:

https://github.com/Magic ऑक्टोपस Urn / wordListsByLength / blob / master / 10.txt

26 अलग-अलग शब्दों को चुनने के लिए, प्रत्येक एक अद्वितीय पत्र के साथ शुरू होता है, और उन्हें ए से जेड तक बढ़ते क्रम में आउटपुट करता है। यहां एक वैध उदाहरण है:

aardwolves
babbitting
caravaning
debilitate
evaporator
fantasized
geographer
hawfinches
imbecility
juvenility
kalanchoes
lamaseries
malodorous
nudibranch
oligophagy
pantywaist
quarreling
russetting
scantiness
teetotaler
undercount
voodooisms
wentletrap
xenophobic
yeomanries
zwitterion

यह एक है दक्षिणी अफि'का का एक प'कार का भेडि़या , यह एक है हाउफिंच , यह एक है kalanchoe , यह एक है नुडिब्रांच और एक wentletrap


नियम

  • रिपॉजिटरी, या किसी अन्य खामियों से सीधे नहीं पढ़ना।
  • आप लिंक में दिए गए किसी भी 26 शब्दों का चयन कर सकते हैं ।
    • आप शब्दों का चयन करते हैं और ये ऐसे शब्द हैं जिन्हें आपके प्रोग्राम को हर बार आउटपुट करना चाहिए।
  • निम्नलिखित में से प्रत्येक अक्षर से शुरू होने वाले एक शब्द का चयन किया जाना चाहिए:
    • [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]
  • यह , सबसे कम बाइट-काउंट जीतता है।

शब्द सूची का उपयोग करके स्पिन-ऑफ के लिए कोई अन्य सुझाव?

इसके अलावा, मेरी शब्द-सूचियों को चोरी करने और चुनौतियों का सामना करने के लिए स्वतंत्र महसूस करें।


1
अरे, बस एक छोटी सी निपिक, "पिछली चुनौती लिंक" एक जवाब के लिए लिंक, चुनौती ही नहीं
रॉड

1
क्या आउटपुट को नई लाइनों के साथ अलग किया जाना आवश्यक है, या आउटपुट एक सरणी के साथ हो सकता है / किसी अन्य सीमांकक के साथ अलग हो सकता है?
हरमन एल

मुझे निराशा है कि एक न्यूडब्रांच एक न्यूडिस्ट कॉलोनी में बैंक नहीं है।
ड्रैक 18 का अब एसई जूल

5
नियमों में 'क्ष' शामिल है लेकिन उदाहरण नहीं है।
ट्राइकोप्लाक्स

Aardwolves आराध्य freaking हैं।
माइकइलियार

जवाबों:


6

बबलगम , 100 99 बाइट्स

00000000: 45ce 4502 0420 0800 c0bb bfb4 3bc1 adcf  E.E.. ......;...
00000010: 6f23 b7a1 910b 63b3 0016 84da 40d4 fd41  o#....c.....@..A
00000020: 344c 2b81 e824 e09f 9e19 e4e9 8d3a 1353  4L+..$.......:.S
00000030: 3f7c c3fc 59b8 b732 5b07 62e7 c383 4fcc  ?|..Y..2[.b...O.
00000040: 4d5f 88c5 bd60 6f44 8c8d b87d 215e 78c3  M_...`oD...}!^x.
00000050: 359e ec4d 360c bd4a 94e2 6e25 e06f ef43  5..M6..J..n%.o.C
00000060: d286 17                                  ...

इसे ऑनलाइन आज़माएं!

आउटपुट:

artinesses
businesses
cozinesses
dozinesses
easinesses
fastnesses
gastnesses
hazinesses
ickinesses
jokinesses
kindnesses
lazinesses
mazinesses
nosinesses
oozinesses
pastnesses
queasiness
rosinesses
sexinesses
tininesses
uglinesses
vastnesses
wilinesses
xanthomata
yeastiness
zaninesses

शब्द फिर से नकली annealing के साथ चुने गए:

from __future__ import print_function
import math
import random
import zopfli.zlib

wordlists = [[] for n in range(26)]
for word in open('wordListsByLength/10.txt', 'rb').read().splitlines():
    wordlists[ord(word[:1]) - ord('a')].append(word)

words = [random.choice(wordlist) for wordlist in wordlists]

temperature = 1.
score = 9999
best = score

while True:
    old_score = score
    n = random.randrange(len(wordlists))
    old_word = words[n]
    words[n] = random.choice(wordlists[n])
    score = len(zopfli.zlib.compress(b'\n'.join(words)) - 6
    if score > old_score and random.random() >= math.exp((old_score - score) / temperature):
        words[n] = old_word
        score = old_score
    else:
        temperature *= .9999
        if score < best:
            best = score
            print(best, repr(b'\n'.join(words)))

uglinessesआपके द्वारा याद किए गए अक्षर U के लिए एक संभावना है, लेकिन इससे बहुत मदद नहीं मिलती है, क्योंकि आपके पास अभी भी Q, X और Y से निपटने के लिए है। उनके लिए कुछ भी दिमाग में नहीं आता है।
कॉडी ग्रे

@CodyGray कार्यक्रम ने पूरे शब्दकोश से स्वचालित रूप से सभी शब्दों को चुना, इसलिए कोई भी लापता नहीं था, लेकिन मुझे लगता है कि यह uneasinessअच्छी तरह से easinessesऔर के साथ संपीड़ित करने के लिए पसंद करता है queasiness। यह उन विकल्पों के बारे में बहुत सुसंगत है।
एंडर्स कासोर्ग

5

जावास्क्रिप्ट (ईएस 6), 168 बाइट्स

प्रत्येक शुरुआती अक्षर के लिए, या तो पहले शब्द के अंत में या पहले उपलब्ध शब्द को आउटपुट करता है।

_=>`ash0bus0coz0doz0eer0foz0gor0hom0ink0jok0kaiserdoms
log0mir0nos0ooz0pun0quackeries
ros0siz0tin0ugl0vacantness
wir0xanthomata
yardmaster
zan0`.split`0`.join`inesses
`

डेमो


4

जेली , 69 बाइट्स

यह भोली दृष्टिकोण है यह कुछ चतुर टिक्कों द्वारा अनुचित हो सकता है

“6)ọʋtL⁺%ḍʠ9ƲȮṆ'ṫZpɲṇḃb7ṗ³ðʠ©q€©[ẠṾṠɠ+ȯ!?^_iṘ©ð⁴ạ'8œÐṣTP³ḃXŻDƭƇM⁽H>Ỵ»

इसे ऑनलाइन आज़माएं!

(मान लिया जाता है कि "वैध विभाजक ASCII- प्रिंट करने योग्य गैर-वर्णानुक्रमिक वर्ण हैं (सम संख्याएँ, परवाह नहीं)" पिछली चुनौती से संबंधित हैं)


4

जेली , 49 बाइट्स

“J9,⁹FṾ»ŒVŒlµL=⁵µÐf
¢Ḣ€OIT+“¢&ĠUṗɓṃ€~ƙṂ’D¤;@0‘ị¢Y

इसे ऑनलाइन आज़माएं! (TIO पर लगभग 22 सेकंड लेता है)

आउटपुट:

aardwolves
babbitting
cabalettas
daftnesses
earlywoods
fabricants
gadgetries
habiliment
iatrogenic
jaborandis
kaiserdoms
labialized
macadamize
naboberies
oafishness
pacemaking
quackeries
rabbinical
sabadillas
tabernacle
ubiquinone
vacantness
wadsetting
xanthomata
yardmaster
zabaglione

यह काम किस प्रकार करता है

“J9,⁹FṾ»ŒVŒlµL=⁵µÐf           - all length 10 Jelly dictionary words
“J9,⁹FṾ»                        - literal string "dictionary.long"
        ŒV                      - Python eval: get list of long words
          Œl                    - set all to lowercase 
            µ   µÐf             - filter keep only those which meet:
             L                  - length
              =                 - equal to
               ⁵                - 10

¢Ḣ€OIT+“¢&ĠUṗɓṃ€~ƙṂ’D¤;@0‘ị¢Y - main link
¢                               - length 10 Jelly dictionary words from helper
 Ḣ€                             - first letter of each.
   O                            - ord: character values
    I                           - difference between consecutive elements
     T                          - indices of nonzero elements
                            (gets indices of first word starting with each letter)
      +                         - add
       “¢&ĠUṗɓṃ€~ƙṂ’D¤          - the list [2,0,5,9,1,3,3,1,1,6,1,2,0,0,0,0,2,1,1,1,0,3,1,8,0]
                      ;@0       - append 0 to beginning (golfable?)
                         ‘      - increment each element
                          ị¢    - index into the above length 10 words
                            Y   - join by newlines

3

पायथन 2 , 256 231 220 बाइट्स

i=97
for w in"uto ibli aco emo ntom utur laci olo deo ackfishes ymo exic alac omo cean alyn uaternion eno eri omo rban eno avelessly ero outhfully witterion".split():print chr(i)+(w+["graphy","ology"][w[3:]>''])[:9];i+=1

जोनाथन एलन के लिए 36 बाइट्स की बचत की, जिन्होंने इसके लिए सबसे ज्यादा मेहनत की (मुझे सिर्फ शब्द मिले: P)

इसे ऑनलाइन आज़माएं!


25 बाइट्स को बचाने के लिए आपके दृष्टिकोण का उपयोग करते हुए यहां कुछ परिवर्तन । (साथ में एक और बचाने के लिए पायथन 2 पर जाएं print)
जोनाथन एलन

वास्तव में और भी अधिक यहाँ
जोनाथन एलन

1
'एसीके! Fishses! ' - पहली बात मैंने इस कोड हे को देखते समय देखा।
मैजिक ऑक्टोपस Urn

3

जाप , 169 107 बाइट्स

`a®
¾n
¯g
¸w
e
fox
g
z

jo
ê]
¦m
µt
nos
oil
po
qua×@i
c
 x
d
ugl
void
°r
xopb
yeÇ
z`·£`ê£`hX

इसे ऑनलाइन आज़माएं!

मैंने एक कार्यक्रम लिखा जो मुझे संपीड़न को अनुकूलित करने में मदद करता है। यह अपने शुको कम्प्रेशन साइज़ द्वारा एक सूची बनाता है


1
वाह, वह अनुकूलन कार्यक्रम वास्तव में अच्छा है। आप को बदलने के लिए भूल गया inessesके साथ 1), हालांकि जब संपीड़न लंबाई की गणनाliminesses
ETHproductions

3

जाप , 85 बाइट्स

97
`...`£`...`hXiU°d}R

जहां दो जोड़ी के बैकटेक्स यादृच्छिक रूप से प्रिंट करने योग्य और अनपेक्षित वर्णों के तारों का प्रतिनिधित्व करते हैं। इसे ऑनलाइन आज़माएं! आउटपुट:

achinesses
boninesses
cozinesses
dozinesses
easinesses
fozinesses
gorinesses
hazinesses
ickinesses
jokinesses
keennesses
lazinesses
mazinesses
nosinesses
oozinesses
pipinesses
quadrantes
riminesses
sizinesses
tininesses
uglinesses
vainnesses
warinesses
xylotomies
yeomanries
zaninesses

व्याख्या

मूल तकनीक है:

97             Set U to 97
`ch
on
...`£  }R      Map each line X in this multiline string to:
U°d              Take U.toCharCode() and increment U.  ["a", "b", "c", ...]
Xi               Prepend this to X.  ["ach", "bon", "c", ...]
`cozinesses`h    Overwrite this onto the beginning of "cozinesses".
                 ["achinesses", "boninesses", "cozinesses", ...]
    £  }R      Rejoin with newlines and implicitly output.

मैंने पाया कि कुछ अन्य उत्तरों के रूप में cozinessesशुरू nessesकरने और बार-बार पिछले पत्र को खोजने के लिए जो 26 अक्षरों में से सबसे अधिक अक्षरों में से एक है। चूंकि लालची तकनीक अक्सर इष्टतम नहीं होती हैं, इसलिए मैंने बाद में वास्तविक इष्टतम शब्द खोजने के लिए एक स्क्रिप्ट लिखी:

alphabet="abcdefghijklmnopqrstuvwxyz".split``;
wordlist=alphabet.map(x=>[]);
document.body.innerText.split`\n`.slice(0,-1).map(x=>wordlist[x.charCodeAt()-97].push(x));
f=(q="",n=7,s=0,words=wordlist,z=n&&alphabet.map(x=>[x+q,words.map(y=>[y=y.filter(z=>z[n]==x),t+=0 in y][0],t=0),t]))=>n?z.filter(x=>x[2]>=Math.max(1,...z.map(x=>(x[2]-2)*2/3))).map(x=>f(x[0],n-1,s+26-x[2],x[1])).sort((a,b)=>a[1]-b[1])[0]:[q,s];

console.time("find optimal word");
console.log(f());
console.timeEnd("find optimal word");

(मुझे परवाह नहीं है कि यह अविश्वसनीय रूप से बदसूरत है। यह है कि पीपीसीजी ने मुझे कोड को कैसे सिखाया है: पी चिंता मत करो, मैं इस उत्पादन में नहीं हूं।)

वैसे भी, जब 10-अक्षर शब्द सूची पर ब्राउज़र कंसोल में चलाया जाता है , तो यह आउटपुट होता है

[ "ozinesses", 57 ]

57पत्र बहु स्ट्रिंग में प्रदर्शित करने के लिए होता है कि की संख्या जा रहा है। मेरे कंप्यूटर पर भी लगभग 17 सेकंड लगे, इसलिए जब आप इसे चलाते हैं तो धैर्य रखें।

के f=साथ लाइन बदलकर

f=(q="",n=9,s=0,words=wordlist,z=n&&alphabet.map(x=>[x+q,words.map(y=>[y=y.filter(z=>z[n]==x),t+=0 in y][0],t=0),t]))=>n?[for(x of z.filter(x=>x[2]>=Math.max(1,...z.map(x=>(x[2]-2)*2/3))))for(y of f(x[0],n-1,s+26-x[2],x[1]))y].sort((a,b)=>a[1]-b[1]).filter((x,i,a)=>x[1]<=a[0][1]+20):[[q,s]];

आप इष्टतम एक के 20 वर्णों के भीतर सभी प्रत्यय प्राप्त कर सकते हैं। ( 20इसे समायोजित करने के लिए किसी और चीज़ के अंत में बदलें । ध्यान दें: यह फ़ंक्शन संभवतः केवल फ़ायरफ़ॉक्स में काम करता है।) आप यहां 100 के तहत सभी प्रत्ययों की एक सूची पा सकते हैं ।

वैसे भी, वहाँ से यह वर्णमाला के प्रत्येक अक्षर के लिए शब्द खोजने का एक काम है जिसमें सबसे लंबे समय तक प्रत्यय है ozinesses। मैंने ऐसा करने के लिए एक जाप स्क्रिप्ट लिखी , साथ ही मेरे लिए आवश्यक उपसर्गों को संपीड़ित किया और मुझे बताया कि परिणामी कार्यक्रम कब तक होगा। (आपको उद्धरण चिह्नों के बीच शब्द सूची को मैन्युअल रूप से चिपकाना होगा।)

यह स्पष्टीकरण शायद कुछ भ्रामक था, इसलिए कृपया किसी भी प्रश्न को पूछने के लिए स्वतंत्र महसूस करें।


2

बबलगम , 110 106 बाइट्स

Hexdump:

0000000: 45cc 4116 8240 0c83 e1bd b72c 50a1 0ed3  E.A..@.....,P...
0000010: 2015 454e 2fcf 4727 bb6f 91fc 1293 b946   .EN/.G'.o.....F
0000020: 68dc 3aec c91e 4772 2055 2279 e776 94aa  h.:...Gr U"y.v..
0000030: 1727 695b f392 7ca0 b1b8 f445 573b 39f3  .'i[..|....EW;9.
0000040: 5679 7344 1236 2717 169e 5b2b acdc 0663  VysD.6'...[+...c
0000050: 2f72 1b5b e10d 1b2e 7ed8 ddd5 b14c e84e  /r.[....~....L.N
0000060: 7e15 55fc df3d c473 f003                 ~.U..=.s..

इसे ऑनलाइन आज़माएं!

प्रिंटों:

ashinesses
boxinesses
cozinesses
dozinesses
easinesses
foxinesses
gamenesses
hazinesses
inkinesses
jokinesses
knackeries
lamenesses
mazinesses
nosinesses
oilinesses
pokinesses
quackeries
rosinesses
samenesses
tamenesses
uglinesses
voidnesses
wilinesses
xenophobes
yeomanries
zaninesses

2

जावास्क्रिप्ट (ईएस 6), 163 बाइट्स

_=>`ach
bon
c
d
eas
f
gam
ha
ick
jok
keen
la
ma
nos
o
pip
quackeri
rac
si
tid
ugl
vain
war
xenogami
yeomanri
zan`.replace(/.+/g,s=>s+"-ozinesses".substr(s.length))


अच्छा! यह रेटिना में 144 बाइट्स का अनुवाद करता है।
नील

हेह, मैंने अभी देखा कि यह मेरे जाप उत्तर में तकनीक के समान है - मैंने इस तकनीक के लिए इस शब्दसूची को इष्टतम भी सिद्ध किया है। आप को बदलने के द्वारा एक बाइट बचा सकते हैं /.+/gकरने के लिए /.*/g, -ozinessesकरने के लिए cozinesses, और अकेला को हटाने c?
ETHproductions

@ETHproductions जो प्रत्येक पंक्ति के अंत में "cozinesses" जोड़ देगा, क्योंकि /.*/gप्रत्येक पंक्ति के बाद 0 वर्णों के समूह से मेल खाता है।
हरमन एल

1

पायथन 2 ,  168  166 बाइट्स

i=97
for w in"ch on ag ew as ox am az ck ok azatsk ac at os il ip uacker ac ex id gl agilit ar enogam eomanr an".split():print"%c%si%ses"%(i,w,"ness"*(len(w)<3));i+=1

इसे ऑनलाइन आज़माएं!

कैसे?

(चरित्र के क्रम ) के iलिए प्रारंभिक तब एक रिक्त स्थान पर एक स्ट्रिंग ting द्वारा गठित सूची के माध्यम से छोरों और शब्दों के रूप में, यह बढ़ जाता है। अधिकांश प्रविष्टियाँ, सूची में, लंबाई दो की हैं, ये ऐसे शब्द हैं जो वर्णमाला के अक्षर से शुरू होते हैं और अंत में यानी फॉर्म के होते हैं :। लंबाई 6 की प्रविष्टियाँ फॉर्म की हैं: इसका मतलब है कि एक स्वरूपण का उपयोग वर्णमाला के अक्षर को प्रस्तुत करने के लिए किया जा सकता है और अंत के साथ अंत को जोड़ सकते हैं जैसे कि जब छोटा होता है: -% c एक वर्ण में रूपांतरित करता है; दो अगर लंबा है।97asplitprintiwinesses
chr(i)+w+'inesses'

chr(i)+w+'ies'
'ness''i'+?+'es'w
"%c%si%ses"%(i,w,"ness"*(len(w)<3))
i%s डालने wऔर "ness"*(len(w)<3), जहां बाद है "ness"अगर wकम है या""w


यहां तक ​​कि अच्छे! यह रेटिना में 140 बाइट्स में तब्दील होता है।
नील

1

SOGL V0.12 , 66 बाइट्स

"⅟μ█X§¡Ψ}|μ⁾k,²9γ↑č─[╝B4mh|c↑′ρ╤τnE╗Ζ±$ņ¦Pγ9¬oΘ′`║F→█#▲xpņRe└ωηηƨ‘

यह कोशिश करो!

इस समस्या के साथ एक सरल डिक्शनरी है कि X से शुरू होने वाला कोई भी शब्द SOGLs शब्दकोश में नहीं था, इसलिए मैंने शब्दकोश में xenotropic - ट्रॉपिक के साथ मुआवजा दिया। और मुझे प्रारंभिक उद्धरण जोड़ने की आवश्यकता थी क्योंकि अन्यथा पार्सर ने सोचा कि [एक लूप शुरू किया है: /


0

चारकोल , 84 बाइट्स

UOχ²⁶”m⌈⎚∧³δ¤↶””|↖⧴=P“⪪šl¢‘υKBSAD ⁶⁸ςz↧\–~⎇V▷–ê"℅ ž⟲‹‹⮌0Bff5Y⪪E?Þ¹@)⟦£δT⪪⌕↙]\RZ_Q‹″”

इसे ऑनलाइन आज़माएं! @ HermanLauenstein की शब्द सूची का उपयोग करता है, लेकिन मैंने एक बाइट को बचाया क्योंकि मैं बाहर याद कर सकता हूं f। एक बार के लिए, वर्बोज़ मोड में भी कुछ प्रतिस्पर्धी, जो केवल 166 बाइट्स है। इसे ऑनलाइन आज़माएं!

Oblong(c 26 "fozinesses")Print("ach\nbon\nc\nd\neas\n\ngam\nha\nick\njok\nkeen\nla\nma\nnos\no\npip\nquackeri\nrac\nsi\ntid\nugl\nvain\nwar\nxenogami\nyeomanri\nzan")

2
आपने 84 के बजाय 166 का स्कोर क्यों बनाया?
कॉनर ओ'ब्रायन

@ ConorO'Brien मैंने सोचा था कि यह मनोरंजक था कि मैं अभी भी अजगर के साथ बांध रहा था।
नील
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.