นับถึง 20 ด้วยคำพูด!


39

การใช้รายการคำที่คั่นด้วยความยาวต่อไปนี้:

https://github.com/Magic Octopus Urn / wordListsByLength

พิมพ์ 1 คำจากแต่ละรายการความยาวn จาก 1 ไปจนถึง 20 นี่คือตัวอย่างที่ถูกต้อง:

a
an
and
hand
hands
handle
handles
abandons
abandoned
understand
outstanding
newfoundland
understanding
characteristic
characteristics
characterization
characterizations
characteristically
characterologically
chemotherapeutically

อีกทางหนึ่ง (อาร์เรย์):

['a', 'an', 'and', 'hand', 'hands', 'handle', 'handles', 'abandons', 'abandoned', 'understand', 'outstanding', 'newfoundland', 'understanding', 'characteristic', 'characteristics', 'characterization', 'characterizations', 'characteristically', 'characterologically', 'chemotherapeutically']

อีกทางเลือกหนึ่ง (ตัวแยกที่ไม่ใช่ตัวอักษรที่สามารถพิมพ์ได้อื่น ๆ ที่ไม่ใช่\n):

a:an:and:hand:hands:handle:handles:abandons:abandoned:understand:outstanding:newfoundland:understanding:characteristic:characteristics:characterization:characterizations:characteristically:characterologically:chemotherapeutically

กฎระเบียบ

  • คุณสามารถเลือก 20 คำของคุณเอง
  • คำจะต้องมาจากหน้า GitHub ที่ให้ไว้โดยเฉพาะอย่างยิ่ง:
    • 1 จาก 1.txt, 1 จาก 2.txt ฯลฯ ...
    • หมายเหตุมีไฟล์ข้างบน 20.txt อยู่ แต่คุณไม่ต้องการคำใด ๆ ที่สูงกว่า 20 ตัวอักษร
  • ตัวคั่นที่ถูกต้องคืออักขระที่ไม่ใช่ตัวอักษรที่พิมพ์ได้ของ ASCII (แม้ตัวเลขไม่ต้องสนใจ)
  • ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่เท่านั้นเลือกหนึ่งติดกับมัน ไม่อนุญาตให้ใช้ตัวพิมพ์ใหญ่ - เล็ก
  • โปรดอย่าใช้ตัวอย่าง 20% ของฉันในสำเนา ...
    • คุณทำได้ แต่ก็ไม่สนุก
    • พวกเขามีแนวโน้มที่ไม่ดีต่อไป ...
  • หากคุณไม่ต้องการใช้ไฟล์แยกและต้องการรายชื่อเต็ม:
    • ใช้unsorted.txtนี่คือnไฟล์. txt ทั้งหมดในไฟล์เดียวเรียงลำดับตามตัวอักษร
  • หมายเหตุคุณไม่สามารถอ่านได้โดยตรงจาก URL มันเป็นช่องโหว่ที่พบบ่อย
  • นี่คือไบต์ต่ำสุดจะเป็นผู้ชนะ

สำหรับการอ้างอิงผลลัพธ์คือ 229 ไบต์ดังนั้นสิ่งใดก็ตามที่อยู่ภายใต้การเต้นของฮาร์ดโค้ดนั้น


การอภิปรายเมตาแท็กที่เป็นไปได้:

ซึ่งผู้ใช้จะได้รับการปรับแต่งผลลัพธ์ของพวกเขาจากรายการของความเป็นไปได้หรือไม่


4
ในฐานะที่เป็นคนจากนิวฟันด์แลนด์ฉันขอชื่นชมการตะโกน :)
กระจาย

6
@ คริสเตียนคุณสามารถพูดได้ว่า ... ( •_•)>⌐■-■ เข้าใจประเทศแคนาดาที่โดดเด่น(⌐■_■)
Magic Octopus Urn

1
@Riley ที่ยืดออกไปมี 1 ตัวคั่นอยู่ระหว่างแต่ละคำถึงแม้ว่าฉันสามารถเห็นหลาย ๆ สถานการณ์ที่ช่วยได้: P
Magic Octopus Urn

1
@JanathanAllan เพิ่งทำไป :)
Magic Octopus Urn

1
ยูทิลิตี้สำหรับการเลือกคำ
Jim

คำตอบ:


19

เยลลี่ ,  49 35 31  30 ไบต์

ṫ3,⁸Ṗ,$€ẎK
“¤ƈȮⱮ⁴⁷ọḤƁŒ|⁾Ė»ḲÇ€K

ลิงก์ niladic ที่ส่งคืนรายการอักขระหรือการพิมพ์โปรแกรมแบบเต็มรายการนั้นเป็นสตริง (คำที่คั่นด้วยช่องว่าง)

ลองออนไลน์!

อย่างไร?

ṫ3,⁸Ṗ,$€ẎK - Helper link: list of characters, word    e.g. "abreacts"
ṫ3         - tail word from index 3                          "reacts"
   ⁸       - chain's left argument, word
  ,        - pair                               ["reacts","abreacts"]
      $€   - last two links as a monad for €ach of the two words:
    Ṗ      -   pop (all but last character)      "react" / "abreact"
     ,     -   pair       ["react","reacts"] / ["abreact","abreacts"]
        Ẏ  - tighten          ["react","reacts","abreact","abreacts"]
         K - join with spaces         "react reacts abreact abreacts"

“¤ƈȮⱮ⁴⁷ọḤƁŒ|⁾Ė»ḲÇ€K - Link: no arguments
“¤ƈȮⱮ⁴⁷ọḤƁŒ|⁾Ė»     - a compressed string using dictionary indexes:
                    -   "agar abreacts acknowledges codeterminations deindustrializations"
               Ḳ    - split at spaces
                Ç€  - call the last link (Helper) as a monad for €ach
                  K - join with spaces

... ซึ่งทำให้:

a ar aga agar react reacts abreact abreacts knowledge knowledges acknowledge acknowledges determination determinations codetermination codeterminations industrialization industrializations deindustrialization deindustrializations

ก่อนหน้านี้:

@ 35:

“¡Ụıƭz Xj]"Ɱ*AJƤʂạ5ƬṚṪð^ƥỤ»ḲṖ,$€K€K

ใช้ 10 คำและคำนำหน้าความยาว 1 คำ

@ 49

“ḊAḥTz¹ỴH¡ṛYẈDƤNŀt#ñ²ĿĊḤlṪnð⁻U+ɦỴĊypṆQ0⁴ṄẉṂi⁻d¤&»

เพียงแค่ 20 คำที่บีบอัด


พจนานุกรม Darn Jelly! +1
Erik the Outgolfer

ฉันไม่รู้ว่าเจลลี่มีพจนานุกรมจริงๆแล้ว
Magic Octopus Urn

3
30 BYTES! ?? !! ??! ฉันเพิ่งไปนอนและตื่นขึ้นมาและมันก็ต่ำถึง 30 BYTES? !!?!?! 11 O_O_O
Erik the Outgolfer

30 BYTES!?!?! ??! ฉันลืมความท้าทายนี้เป็นเวลาหนึ่งเดือนและเขาจะได้รับ 30 ไบต์!?!?!
Magic Octopus Urn

27

Python 2 , 145 ไบต์

print'i am now tiny @ @s##s#ed#act#acts#@#@s#@ed#@ing#arguments#accusation#accusations#advertisings'.replace('#',' counter').replace('@','check')

ลองออนไลน์!

พิมพ์คำเหล่านี้คั่นด้วยช่องว่าง:

i
am
now
tiny
check
checks
counter
counters
countered
counteract
counteracts
countercheck
counterchecks
counterchecked
counterchecking
counterarguments
counteraccusation
counteraccusations
counteradvertisings

18
"ตอนนี้ฉันตัวจิ๋ว" - ฉันชอบโค้ดอธิบายตนเอง ...
trichoplax

16

PowerShell , 166 163 ไบต์

'a
an
and'
'','s','le','ler','lers'|%{"hand$_"}
($a="character")
($x=-split"s ed ful ized istic istics ization izations istically ologically"|%{"$a$_"})
"un"+$x[8]

ลองออนไลน์!

เพิ่มประสิทธิภาพด้วยมือไม่มีอัลกอริทึม ทั้งสองลูป|%{ }ยึดติดกับตอนจบที่เหมาะสมจนถึงจุดเริ่มต้นที่เหมาะสม ฉันกำลังค้นหาวิธีที่จะทำให้พวกเขาเป็นหนึ่งวง


ว้าวตัวอย่างของฉันดูน่ากลัวแม้ตอนนี้ xD! characterful > newfoundland
Magic Octopus Urn

10

Python ขนาด 169 ไบต์

z='odahs princesses acclimatizers cyanocobalamines aerothermodynamics underrepresentations'.split()
print([y[:i+1]for x,y in zip(['']+z,z)for i in range(len(x),len(y))])

พิมพ์รายการคำศัพท์

ลองออนไลน์!

คำที่ได้จากการสแกนลำดับของคำที่ตรงกันโดยเริ่มต้นหรือสิ้นสุดของคำและเริ่มจากความยาว 1 ขึ้นไปหรือจากความยาว 20 downwords

นี่คือสคริปต์ที่ฉันเคยได้รับมา (หนึ่งขึ้นไปเริ่มต้นจับคู่)


171 ไบต์ (รู้สึกว่าควรสั้นกว่านี้ แต่ไม่ใช่): ลองออนไลน์!
Stephen

8

Python 2 ,  126 120  112 bytes

-8 ไบต์ขอบคุณ Anders Kaseorg (ฉันคิดว่าฉันจะย้ายข้อมูลนี้จาก Python 3 แต่กลับกลายเป็นว่าฉันลืมไปแล้ว!)

พอร์ตคำตอบ Jelly ของฉันทำงานได้ดีใน Python เช่นกัน ...

for w in"agar abreacts acknowledges codeterminations deindustrializations".split():print w[2:-1],w[2:],w[:-1],w,

ลองออนไลน์!

พิมพ์:

a ar aga agar react reacts abreact abreacts knowledge knowledges acknowledge acknowledges determination determinations codetermination codeterminations industrialization industrializations deindustrialization deindustrializations 

Python 2 ให้คุณลงท้ายด้วยprint w[2:-1],w[2:],w[:-1],w,−8 ไบต์
Anders Kaseorg

โอ้โอ้ฉันลืมเรื่องนี้ไปแล้วหรือคิดว่าฉันทำไปแล้ว - ฉันเปิดหน้า TIO ที่ไหนสักแห่ง!
Jonathan Allan

ขอบคุณสำหรับสิ่งนั้น!
Jonathan Allan

6

JavaScript, 159 ไบต์

_='a1an1and}}swwrwrs~~s~ed~ful~ized{{s~|~|s{ally~ologically1misx|s~1x}1hand|ization{~isticxcharacterw}le';for(i of'wx{|}~')with(_.split(i))_=join(pop());f=f=>_

ลองออนไลน์!

ขอบคุณ @HyperNeutrino สำหรับการแก้ไข แต่ฉันกลับไปที่โพสต์เก่า (ลบสถานะ "Node.js") เนื่องจากไม่มีส่วนเกี่ยวข้องกับ Node.js มันทำงานได้อย่างสมบูรณ์ในเบราว์เซอร์เช่นกัน


f=f=>_โยนฉันออกฉันชอบ "จะไม่แทนที่ฟังก์ชั่น" (มันจะป้องกันการเรียกซ้ำ)
สตีเฟ่น

@StepHen ฉันไม่แน่ใจว่าอนุญาตให้ปล่อยสตริงธรรมดาไว้หรือไม่ ตามที่ฉันเข้าใจรหัสควรเป็นตัวแทนของฟังก์ชั่น (หรือโปรแกรมทั้งหมด) นั่นคือสาเหตุที่ฉันเพิ่มเข้าไปในตอนท้าย ตัวแปร_มีสตริงอยู่แล้ว

คุณถูกต้องฉันสับสนจริง ๆ กับสิ่งที่ทำเนื่องจากคุณใช้ชื่อตัวแปรอีกครั้ง ( fทั้งชื่อฟังก์ชันและชื่อพารามิเตอร์ (ไม่สนใจ))
Stephen Stephen

6

05AB1E , 51 ไบต์

’¯Óa‚‡’D“€…€¤Þ¨íʃé¢Ã¥£žÜ¶ß´ç…àçî×Ü»‡ÛೌçÓs²® ÿ ÿs

ลองออนไลน์!

แยก:

รายการคำศัพท์: a, an, ana, anal, house, houses, amazing, criminal, seriously, apparently, accessories, disciplinary, distributions, discrimination, congratulations, responsibilities, characterizations, telecommunications, representationalist, representationalists


1
ต้องการมีส่วนร่วมในการท้าทายของตัวเองทวีความรุนแรงยิ่งขึ้น
Magic Octopus Urn

ฉันเดาว่า 05AB1E ไม่มีคำในพจนานุกรมยาว 20 คำ: P? ยังไม่ได้ตรวจสอบตัวเองจริง
Magic Octopus Urn

@MagicOctopusUrn Nope
Adnan

@adnan ว้าววิธีการที่ ... อาจเป็นความคิดที่ดีถ้าคุณสามารถหาวิธีที่จะสร้างรหัสพจนานุกรมทั้งหมดในรูปแบบ1-10ไบต์ ...
Magic Octopus Urn

1
@nan ที่เป็นความพยายามครั้งแรกของฉันฉันแน่ใจว่าคุณสามารถเคาะมันออกไปที่สวนสาธารณะ
Magic Octopus Urn

5

ทับทิม 120 ไบต์

j=3
$><<?a
"  5  T &  }   <    ".bytes{|i|puts
8.times{|k|$><<%w{dehydro chlori ge n at ion e s}[k]*(j>>7-k&1)}
j+=i-31}

พิมพ์ดังต่อไปนี้ แต่ละคำถูกสร้างขึ้นจาก 8 สายข้างต้นโดยใช้เลขฐานสองของjเพื่อเลือก ในแต่ละการวนซ้ำของลูปjจะเพิ่มขึ้นโดยค่า ASCII ของอักขระในสตริงในเครื่องหมายคำพูดลบ 31

a
es
ion
ions
nates
nation
nations
chlorine
chlorines
chlorinate
chlorinates
chlorination
dehydrogenate
dehydrogenates
dehydrogenation
dehydrogenations
dehydrochlorinate
dehydrochlorinates
dehydrochlorination
dehydrochlorinations

4

Pyth , 74 ไบต์

การผจญภัยทางจิต

.e:"psychopathologicallyadventuresomenesses"b+bhkiR36"GGGGBKMMKKM6K6M0K0K0

ลองออนไลน์! มันเอาท์พุท:

['a', 'al', 'all', 'ally', 'logic', 'advent', 'venture', 'ventures', 'adventure', 'adventures', 'venturesome', 'pathological', 'adventuresome', 'pathologically', 'venturesomeness', 'psychopathologic', 'adventuresomeness', 'psychopathological', 'adventuresomenesses', 'psychopathologically']

ซึ่งเมื่อจัดรูปแบบแล้วให้ผลตอบแทน:

a
al
all
ally
logic
advent
venture
ventures
adventure
adventures
venturesome
pathological
adventuresome
pathologically
venturesomeness
psychopathologic
adventuresomeness
psychopathological
adventuresomenesses
psychopathologically

คำอธิบาย

กุญแจสำคัญคือการเลือกสองคำที่เติมเต็มซึ่งกันและกัน ผมเลือก " psychopathologically " และ " adventuresomenesses " ขอบคุณที่เป็นเครื่องมือเล็ก ๆ น้อย ๆ ที่ผมเขียน การใช้สองคำนี้สำหรับความยาวใด ๆ เราสามารถค้นหาสตริงย่อยซึ่งเป็นคำที่แท้จริงของรายการที่ให้ไว้ การสลายตัวที่เป็นไปได้ทั้งหมดจะแสดงให้เห็นโดย:

a al all ally logic psycho logical          logically pathologic             pathological               pathologically                 psychopathologic                   psychopathological                     psychopathologically
a ad ess ness esses advent venture ventures adventure adventures venturesome              adventuresome                venturesomeness                  adventuresomeness                    adventuresomenesses

ขั้นตอนต่อไปคือการรับรายการดัชนีสำหรับการย่อยสลายที่กำหนด สำหรับการย่อยสลายของฉันฉันเลือก: 16 16 16 16 11 20 22 22 20 20 22 6 20 6 22 0 20 0 20 0ซึ่งเป็นดัชนีในสตริงที่ต่อกัน: psychopathologicallyadventuresomenesses.

สุดท้ายเขียนโปรแกรมที่วนรอบดัชนีและแสดงซับสตริงในแต่ละดัชนีที่กำหนดโดยเพิ่มความยาว

สำหรับการบันทึกแบบไบต์ฉันเก็บดัชนีไว้ในสตริง 36 ฐาน ที่จริงแล้วGGGGBKMMKKM6K6M0K0K0คือรายการดัชนีของฉันในฐาน 36 (เพราะดัชนีสูงสุดของฉันคือ 22, ฉันอาจใช้ฐาน 23)

คำอธิบายโปรแกรม

.e:"psychopathologicallyadventuresomenesses"b+bhkiR36"GGGGBKMMKKM6K6M0K0K0

                                                 iR36"GGGGBKMMKKM6K6M0K0K0    # For each character in the string, convert from base 36 to base 10
.e                                                                            # Loop over indexes: b are the indexes, h their position
  :"psychopathologicallyadventuresomenesses"b+bhk                             # In "psy...ses", select the substring at index b and of length k + 1

psychopathologically - "ในแง่ของการศึกษาทางวิทยาศาสตร์ของความผิดปกติทางจิต" น่าสนใจ
Magic Octopus Urn

3

C #, 259 ไบต์

_=>{var a=new int[7].Select((n,i)=>"abasers".Substring(0,i+1)).ToList();a.Add("abacuses");a.AddRange(new int[12].Select((n,i)=>(i>10?"un":"")+"character"+"|s|ed|ful|ised|istic|istics|isation|isations|istically|ologically|istically|".Split('|')[i]));return a;}

มีห้องสำหรับเล่นกอล์ฟที่เห็นได้ชัด แต่ตอนนี้ฉันหมดเวลาแล้ว ฉันรู้ว่ามันนานกว่าการเข้ารหัสอย่างหนักดังนั้นจะแก้ไขได้เมื่อฉันได้รับในภายหลัง


จริง ๆ แล้ว Woops นั้นนานขึ้นกว่าเดิมเพราะฉันต้องรวมไว้ด้วยusing System.Linq;
TheLethalCoder

4
เพียงแค่ส่งคืนพวกเขาในสตริงที่แยกด้วยช่องว่างเช่น 245
Magic Octopus Urn

@ MagicOctopusUrn ฉันรู้ว่านั่นคือสิ่งที่ฉันพูดในคำตอบของฉัน ...
TheLethalCoder

3

05AB1E , 130 68 ไบต์

-62 ไบต์ขอบคุณErik the Outgolfer

743222’€Ü†š ƒ´aî³eros €‡a•¿f²Ñns …¿en®íizers ‚ÀÙŠs ‡åØŽ’#‚øε`ηRs£R}˜

ลองออนไลน์!

ใช้คำนำหน้ามากที่สุดเท่าที่จำเป็นจากแต่ละคำต่อไปนี้:

amusers
carabinero
foraminiferans
photosensitizers
videoconferencings
radiopharmaceuticals

พิมพ์คำเหล่านี้ในอาร์เรย์:

a
am
amu
amus
amuse
amuser
amusers
carabine
carabiner
carabinero
carabineros
foraminifera
foraminiferan
foraminiferans
photosensitizer
photosensitizers
videoconferencing
videoconferencings
radiopharmaceutical
radiopharmaceuticals 



อื่น ๆ -6 ด้วย ... (น่าเศร้าที่ฉันไม่สามารถแทนที่743222ด้วย•B/™•)
Erik the Outgolfer

ใช่คุณไม่ต้องการSมันเป็น -62 ไบต์ ;)
Erik the Outgolfer

@EriktheOutgolfer ขอบคุณ! ฉันพยายามทำบางสิ่งเช่นนั้น แต่ฉันก็ทำไม่ได้ คุณสนใจที่จะอธิบายว่าสายอักขระที่บีบอัดทำงานอย่างไร
Riley

3

Bubblegum , 66 ไบต์

00000000: 6d8b 410a 0020 0804 bf6a 4407 a134 5aff  m.A.. ...jD..4Z.
00000010: 4fe6 29ac 93ce b0a3 543a ad06 3f6c e769  O.).....T:..?l.i
00000020: 46f3 3ae2 b218 abc4 2cab d389 a805 82aa  F.:.....,.......
00000030: fee1 6e43 2444 62df 0f46 4a1e f356 8cf1  ..nC$Db..FJ..V..
00000040: 73d8                                     s.

เอาท์พุท:

o`al`res`alit`reset`preset`present`rational`represent`rationales`annotations`connotations`connotational`representation`representations`representational`misrepresentation`misrepresentations`representationalism`representationalisms

ลองออนไลน์!

คำและตัวคั่นถูกเลือกโดยการจำลองการหลอม:

from __future__ import print_function
import math
import random
import zlib

wordlists = \
    [[chr(x).encode() for x in [9, 10] + list(range(32, 127)) if not chr(x).encode().isalpha()]] + \
    [open('wordListsByLength/{}.txt'.format(n), 'rb').read().splitlines() for n in range(1, 21)]

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

temperature = 10.
score = 9999
best = score

while True:
    old_score = score
    n = random.randrange(len(wordlists))
    old_word = words[n]
    words[n] = random.choice(wordlists[n])
    z = zlib.compressobj(9, zlib.DEFLATED, -zlib.MAX_WBITS, 9)
    score = len(z.compress(words[0].join(words[1:])) + z.flush())
    if score > old_score and random.random() >= math.exp((old_score - score) / temperature):
        words[n] = old_word
        score = old_score
    else:
        temperature *= .99999
        if score < best:
            best = score
            print(best, repr(words[0].join(words[1:])))

2

Bubblegum , 78 ไบต์

00000000: 654b c301 4431 10bd a7cb d876 9a5f efe7  eK..D1.....v._..
00000010: 781e 2080 ee55 0488 ffc8 9f69 e86f a5ff  x. ..U.....i.o..
00000020: ce00 0b98 202e 34ed d701 a464 bf59 35fb  .... .4....d.Y5.
00000030: 23d7 9192 b948 7c79 f351 0c8b f4ee 06e4  #....H|y.Q......
00000040: 8b05 1a33 77c8 1bcf 7f58 7577 e113       ...3w....Xuw..

ลองออนไลน์!


2

ทับทิม 107 ไบต์

p(z=%w{o or for form ultra})+[z[3],c="centrifug",z[4]+c].product(%w{ed ing ally ation ations}).map{|i|i*""}

พิมพ์อาร์เรย์ต่อไปนี้

["o", "or", "for", "form", "ultra", "formed", "forming", "formally", "formation", "formations", "centrifuged", "centrifuging", "centrifugally", "centrifugation", "centrifugations", "ultracentrifuged", "ultracentrifuging", "ultracentrifugally", "ultracentrifugation", "ultracentrifugations"

การเปลี่ยนpสำหรับputs(ด้วยพื้นที่ต่อท้าย) จะให้สิ่งต่อไปนี้ที่ราคา 4 ไบต์เพิ่มเติม

o
or
for
form
ultra
formed
forming
formally
formation
formations
centrifuged
centrifuging
centrifugally
centrifugation
centrifugations
ultracentrifuged
ultracentrifuging
ultracentrifugally
ultracentrifugation
ultracentrifugations

1

Japt , 119 ไบต์

`av„v„dvjvjsvj¤vj¤svfœejvqvqsvq‚vqˆgvqizƒvqÄKcvqÄKcsvqizÂ\nvqizÂ\nsvq‰tkvqologkv·sqizÂ\ns`d'j`Ê@`'k`Åœ§`'q`Ö‹a×` q'v ·

ลองออนไลน์!

พิมพ์:

a
an
and
hand
hands
handle
handles
freehand
character
characters
charactered
charactering
characterizes
characteristic
characteristics
characterization
characterizations
characteristically
characterologically
mischaracterizations
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.