คำถามติดแท็ก printable-ascii

การแก้ปัญหาสามารถประกอบด้วยอักขระ ASCII ที่พิมพ์ได้ 95 ตัว (เว้นวรรคถึง ~) แท็บและบรรทัดใหม่อาจได้รับอนุญาตเช่นกันขึ้นอยู่กับความท้าทาย

11
นำสแควร์รูทของสตริง
แรงจูงใจ ในความท้าทายนี้งานของคุณคือการคูณสองสายการทำเช่นนี้เป็นการแนะนำวิธีการใช้สแควร์รูทของสตริง มันทำงานยังไง? รับสตริง (ตัวอย่างpub) สิ่งแรกที่คุณต้องทำคือการกำหนดรหัส ASCIIสำหรับตัวละครแต่ละตัว: "pub" -> [112, 117, 98] ถัดไปคุณจับคู่รหัสเหล่านี้กับช่วง[0..94]โดยการลบ32แต่ละค่า: [112, 117, 98] -> [80, 85, 66] ตอนนี้คุณต้องค้นหาค่าแต่ละค่าของมันโมดูโล95(เช่น40*40 % 95 = 80คุณสามารถเลือกได้55): [80, 85, 66] -> [40, 35, 16] และในที่สุดคุณจะแมปมันกลับเป็นช่วง[32..126]และแปลงกลับเป็นสตริง: [40, 35, 16] -> [72, 67, 48] -> "HC0" อันที่จริง"HC0" ⊗ "HC0" = "pub"ในขณะที่คุณสามารถตรวจสอบกับการแก้ปัญหาจากความท้าทายอื่น ๆที่นี่ คนที่คุ้นเคยกับการคำนวณแบบแยกส่วนอาจสังเกตว่ามอดูโลรากที่สอง95นั้นไม่มีอยู่เสมอตัวอย่างเช่นไม่มีรู2ท ในกรณีเช่นนี้รากที่สองของสตริงจะไม่ถูกกำหนดและโปรแกรม …

1
ค้นหาสมมาตรในกำลังสอง
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรายการจำนวนเต็มบวก จำนวนเต็มแต่ละจำนวนเหล่านี้แสดงความยาวด้านของสี่เหลี่ยมจัตุรัสบนระนาบ 2D แต่ละสี่เหลี่ยมสามารถเคลื่อนย้ายไปยังพิกัดจำนวนเต็มใด ๆ ในระนาบ แต่มันไม่สามารถหมุนได้และไม่สามารถซ้อนทับสี่เหลี่ยมอื่น ๆ ได้ การใช้อักขระ ASCII ที่พิมพ์ได้ที่แตกต่างกันสำหรับแต่ละตาราง (ไม่รวมพื้นที่ซึ่งใช้สำหรับความว่างเปล่า) โปรแกรม / ฟังก์ชันของคุณจำเป็นต้องพิมพ์การจัดเรียงสี่เหลี่ยมจัตุรัสใด ๆ ที่มีเส้นแนวนอนหรือแนวตั้งของสมมาตรสะท้อน หากไม่มีข้อตกลงดังกล่าวอยู่ก็ไม่ควรพิมพ์สิ่งใด สี่เหลี่ยมเป็นตัวละครที่แตกต่างกันเพื่อให้พวกเขาสามารถแยกออกจากกัน เฉพาะรูปร่างที่ทำโดยสหภาพของสี่เหลี่ยมทั้งหมดจะต้องมีความสมมาตร คุณสามารถสันนิษฐานได้ว่ารายการจะไม่มีองค์ประกอบมากกว่า 94 องค์ประกอบ (เนื่องจากมี 94 ตัวอักษร) ตัวอย่างเช่นถ้าอินพุต[2, 1, 2, 2, 2]เป็นเอาต์พุตที่เป็นไปได้คือ: DD-- DD-- Z FFPP FFPP รูปร่างนี้มีเส้นแนวนอนของสมมาตรการสะท้อนแสง ครึ่งบนและล่างของมันเป็นภาพสะท้อน นี่คือความเป็นไปได้อื่น ๆ : (โปรดทราบว่าช่องสี่เหลี่ยมไม่จำเป็นต้องสัมผัสและสามารถใช้อักขระใด ๆ ได้ตราบใดที่ไม่มีช่องสี่เหลี่ยมสองช่องที่สร้างด้วยอักขระตัวเดียวกัน) 55 55 %% %% @ …

1
Code Golf: ชะตากรรมของยานอวกาศคืออะไร? [เวอร์ชันศิลปะ ASCII]
พื้นหลัง ในกาแลคซี (และอาจเป็นจักรวาล) ไกลออกไป ... มียานอวกาศและดาวเคราะห์จำนวนหนึ่ง การทำงานผิดพลาดบนเรือทำให้ยานอวกาศหมดเชื้อเพลิง ตอนนี้มันเคลื่อนที่ด้วยความเร็วช้าที่อันตรายใกล้กับกลุ่มดาวเคราะห์ซึ่งมันจะต้องหลบหนี! ชะตากรรมของลูกเรือจะเป็นอย่างไร ความท้าทาย คุณเป็นโปรแกรมเมอร์นำใน USS StackExchange เช่นนี้คุณต้องการที่จะเขียนโปรแกรมจำลองที่จะเปิดเผยหรือไม่ว่าคุณกำลังถูกโจมตีจากพื้นดินบนดาวเคราะห์หรือไม่ก็จะหนีออกจากระบบดาวเคราะห์หรือจะติดอยู่ในวงโคจรตลอดกาล อย่างไรก็ตามการระเบิดบนยานอวกาศของคุณหมายความว่ามีทรัพยากรการคำนวณ จำกัด มาก โปรแกรมของคุณจะต้องเล็กที่สุดเท่าที่จะทำได้ นอกจากนี้หมายความว่าวิธีเดียวที่เป็นไปได้ในการป้อนข้อมูลการจำลองเพื่อเรียกใช้คือผ่าน ASCII art การจำลองสถานการณ์ ในจตุภาคของลิขสิทธิ์นี้กฎของฟิสิกส์มีการเปลี่ยนแปลงเล็กน้อยเพื่อรองรับศิลปะ ASCII ซึ่งหมายความว่าจักรวาลแบ่งออกเป็นเซลล์ การเคลื่อนไหวจะถูกอธิบายในหน่วยของเซลล์และเวลาจะอยู่ในหน่วยของขั้นตอนเวลา ตัวเรือเองมีโมเมนตัม ถ้าเรือรบเคลื่อนที่ +2 เซลล์บนแกน x และ -1 เซลล์บนแกน y (ย่อมาจาก (2, -1)) ในขั้นตอนก่อนหน้านี้และไม่มีสนามแรงโน้มถ่วงจากนั้นเรือจะเคลื่อนที่ด้วยความแม่นยำ ความเร็วเดียวกันในขั้นตอนต่อไป จะมีดาวเคราะห์หลายดวงซึ่งทั้งหมดนี้มีสนามแรงโน้มถ่วงอยู่ในแปดเซลล์รอบ ๆ มันซึ่งจะส่งผลต่อความเร็วของเรือและจะดึงเรือเข้ามาใกล้ดาวเคราะห์มากขึ้น การเป็นแค่ "ทิศเหนือ" ของดาวเคราะห์จะส่งผลให้มีการดึงเรือหนึ่งเซลล์ไปยัง "ทิศใต้" ด้วยแรง (-1,0) การเป็นแค่ …


3
ผู้ประกอบการ Bitwise ใน Brainfuck
งานของคุณคือสร้างโปรแกรม brainfuck หนึ่งโปรแกรมสำหรับตัวดำเนินการไบนารีต่อไปนี้ แต่ละโปรแกรมควรใช้หนึ่งหรือสองหมายเลข 8 บิต (A และ B) จากอินพุตและคำนวณการดำเนินการที่ระบุ: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A คุณไม่ต้องใช้ทั้งหมด 5 คะแนนคำนวณโดย: #totalCharacters + {4000 * #problemsNotCompleted} คะแนนที่ถูกต้องคือจากศูนย์ (ดีที่สุด) ถึง 20,000 (ไม่เสร็จสมบูรณ์) ฉันไม่สนใจว่าคุณจะเก็บผลลัพธ์ไว้ที่ใดหรือคุณเก็บข้อมูลไว้หรือไม่ สมมติว่าเซลล์ 8 บิตและเซลล์ว่างมากเท่าที่คุณต้องการไปทางขวาเท่านั้น คุณอาจคิดว่าตัวเลขนั้นอยู่ในตำแหน่งหน่วยความจำที่เหมาะกับคุณที่สุดอยู่แล้วดังนั้นคุณไม่ต้องกังวลกับการทำงานของ IO
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

1
รหัสปริศนารหัส Slidey!
เป็นที่รู้จักมากที่สุดปริศนาเลื่อนเป็นปริศนาสิบห้า มันมีตาราง 4 โดย 4, 15 กระเบื้องและพื้นที่ว่างหนึ่งตาราง กระเบื้องสามารถย้ายไปยังพื้นที่ว่างได้เท่านั้นและจะต้องสอดคล้องกับตารางเสมอ ลองกำหนดตัวต่อแบบเลื่อนโดยทั่วไปเป็นWสองมิติกว้างด้วยตารางสูงH ( W , Hทั้งจำนวนเต็มบวก) ที่มีจำนวนของกระเบื้องที่ไม่มีเครื่องหมายเหมือนกันจำนวนหนึ่ง(ระหว่าง 0 ถึงW × Hของพวกเขา) ที่จัดเรียงในตาราง ไม่ว่าจะด้วยวิธีใดก็ตาม (โดยไม่ทับซ้อนกัน) ด้วยพื้นที่ตารางว่างเปล่าเติมส่วนที่เหลือของพื้นที่ ตัวอย่างเช่นถ้าWและHเป็น 3 และไทล์เป็นTและพื้นที่ว่างเป็นEหนึ่งในการจัดเรียงปริศนาเข้าข้างได้มากที่สุดคือ TTT TET EET สำหรับปริศนาเหล่านี้มี 4 ย้ายเป็นไปได้ทุกอย่างซุกขึ้น , ซุกทุกอย่างลงทุกอย่างซุกซ้ายหรือซุกทุกอย่างที่เหมาะสม 'การผลัก' ไปในทิศทางใดทิศทางหนึ่งทำให้ไพ่ทั้งหมดเดินทางไปในทิศทางนั้นไกลที่สุดเท่าที่จะเป็นไปได้จนกว่าพวกเขาจะชนกระเบื้องหรือขอบตาราง บางครั้งการผลักจะไม่เปลี่ยนเค้าโครงของกริด หากกริดตัวอย่างถูกผลักไปทางขวาผลลัพธ์จะเป็น TTT ETT EET ผลักไปทางซ้ายผลคือ TTT TTE TEE ลดผลลัพธ์ลงไปคือ EET TET TTT (สังเกตว่าทั้งคู่เคลื่อนไหวไปทางซ้ายสุดT) การเลื่อนขึ้นไม่ได้เปลี่ยนเค้าโครงตารางในกรณีนี้ …

30
พิมพ์สตริงด้วยคำแนวตั้ง
งานของคุณคือการใส่สตริงของตัวอักษร ASCII และส่งออกสตริงเป็นชุดของคำในแนวตั้งคั่นด้วยช่องว่าง ตัวอย่างที่แสดงด้านล่าง: รับสาย: Hello, World! My name is Foo. ผลลัพธ์ควรเป็น: H W M n i F e o y a s o l r m o l l e . o d , ! จะได้รับคะแนนโบนัส 10 คะแนนหากโปรแกรมของคุณจัดการสตริงที่ต้องปิดเทอร์มินัลอย่างถูกต้องซึ่งเราจะตั้งไว้ที่ 80 อักขระ 50 คะแนนหากโปรแกรมของคุณสามารถย้อนกลับได้!

2
Code Golf: ชะตากรรมของยานอวกาศคืออะไร? [รุ่นจุดลอยตัว]
คำถามนี้ยากกว่ารุ่น art ASCII เล็กน้อย ไม่มีงานศิลปะและตอนนี้คุณต้องทำเลขคณิตจุดลอยตัว! ความท้าทาย USS StackExchange กำลังเดินทางผ่านสนามแรงโน้มถ่วงของดาวเคราะห์ cg-00DLEF เมื่อเกิดการระเบิดทางดาราศาสตร์ขึ้นบนเรือ ในฐานะหัวหน้าเจ้าหน้าที่เขียนโปรแกรมของเรือคุณมีหน้าที่จำลองเส้นทางการเคลื่อนที่ของเรือเพื่อคาดการณ์ว่าคุณจะถูกบังคับให้ชนบนบกในระบบสุริยะของ cg-00DELF หรือไม่ ในระหว่างการระเบิดเรือของคุณเสียหายอย่างหนัก เนื่องจากยานอวกาศ DEEEPRAROM * ที่ จำกัด ฟรีคุณต้องเขียนโปรแกรมของคุณให้มีจำนวนอักขระน้อยที่สุดเท่าที่จะทำได้ * การเข้าถึงแบบสุ่มที่สามารถลบได้ด้วยโปรแกรมแบบลบได้ การจำลองสถานการณ์ ค่อนข้างคล้ายกับเวอร์ชันศิลปะ ASCII จะมีความคิดเกี่ยวกับขั้นตอนเวลา ในอีกเวอร์ชั่นหนึ่งช่วงเวลาเป็นช่วงเวลาที่ค่อนข้างใหญ่เรือสามารถเดินทางได้ไกลกว่าแรงโน้มถ่วงของดาวเคราะห์ในขั้นตอนเดียว ที่นี่ขั้นตอนเวลาเป็นหน่วยที่เล็กกว่ามากเนื่องจากมีระยะทางที่ใหญ่กว่า อย่างไรก็ตามความแตกต่างที่สำคัญอย่างหนึ่งก็คือการไม่มีเซลล์ ตำแหน่งและความเร็วของยานอวกาศในปัจจุบันจะเป็นตัวเลขจุดลอยตัวพร้อมกับแรงโน้มถ่วงที่เกี่ยวข้อง การเปลี่ยนแปลงอีกประการหนึ่งคือความจริงที่ว่าดาวเคราะห์มีขนาดใหญ่กว่ามาก จะมีดาวเคราะห์สามดวงในการจำลอง ทั้งสามจะมีตำแหน่งรัศมีและแรงโน้มถ่วงที่เฉพาะเจาะจง แรงโน้มถ่วงสำหรับดาวเคราะห์แต่ละดวงนั้นเป็นเวกเตอร์ที่ออกแรงโดยตรงไปยังศูนย์กลางของดาวเคราะห์ สูตรในการหาความแข็งแรงของเวกเตอร์นี้คือ(Gravity)/(Distance**2)โดยที่ระยะทางเป็นระยะทางที่แน่นอนจากเรือถึงศูนย์กลางของดาวเคราะห์ ซึ่งหมายความว่าไม่มีการ จำกัด ว่าแรงโน้มถ่วงจะไปถึงที่ใด ยานอวกาศมีความเร็วซึ่งเป็นระยะทางและมุมที่มันเคลื่อนที่จากขั้นตอนสุดท้ายจนถึงตอนนี้ เรือยังมีโมเมนตัม ระยะทางที่มันจะเดินทางระหว่างขั้นตอนเวลาปัจจุบันและระยะถัดไปคือผลรวมของความเร็วปัจจุบันที่เพิ่มเข้ากับเวกเตอร์แรงโน้มถ่วงทั้งหมดที่ตำแหน่งของมัน นี่เป็นความเร็วใหม่ของยานอวกาศ การจำลองแต่ละครั้งมีการ จำกัด เวลา 10,000 ขั้นตอน หากยานอวกาศเดินทางเข้าไปในดาวเคราะห์ (ใกล้กับศูนย์กลางของดาวเคราะห์มากกว่ารัศมีของดาวเคราะห์) …

13
สร้างแถบความคืบหน้าของ ASCII
มันคล้ายกับคำถามนี้แต่มีความแตกต่างเล็กน้อย คุณต้องเขียนโปรแกรมเพื่อขอความกว้างของแถบความคืบหน้าและทำงานเป็นจำนวนเท่าใด และจากนั้นวาดแถบความคืบหน้าด้วยคุณสมบัติดังต่อไปนี้: width ระบุจำนวนตัวอักษรที่คุณต้องใช้ในการวาดแถบความคืบหน้า ความคืบหน้าจะได้รับผ่านค่าทศนิยมระหว่าง 0..1 อักขระตัวแรกและตัวสุดท้ายในแถบความคืบหน้าควรเป็นสิ่งที่แตกต่างจากตัวละครอื่น ๆ ทั้งหมดเช่น "[" และ "]" โปรแกรมของคุณควรใช้อักขระสองตัวที่แตกต่างกันเพื่อประเมินความก้าวหน้าที่ผ่านไปนับตั้งแต่เริ่มต้น คุณต้องเขียนจำนวนงานที่ทำตรงกลางแถบความคืบหน้าโดยใช้เครื่องหมายทศนิยม + "%" จุดโบนัสสำหรับการจัดการอินพุตที่มากเช่นงานที่ทำเสร็จ 150% หรือ -5% จำนวนตัวอักษรที่ให้คะแนน * (1 ที่ไม่มีโบนัสหรือโบนัสความกว้าง 0.75) ตัวอย่างบางส่วนของผลลัพธ์ที่ถูกต้อง 79 0.15 [|||||||||||| 15% ] 25 0.76 [##########76%#####.....] 39 -0.12 [ -12% ] 25 7.6 [##########760%#########]

7
โค้ดที่ผู้ใช้ทำคะแนนกอล์ฟ - วาดเพชร [ทดลอง]
ความท้าทายนี้จะทำตัวเหมือนนักกอล์ฟทั่วไป ความแตกต่างเพียงอย่างเดียวคือแทนที่จะให้คะแนนคำตอบตามจำนวนตัวอักษรหรือไบต์ผู้ใช้จะกำหนด น้ำหนักให้กับตัวละครที่แตกต่างกันในความคิดเห็นและโปรแกรมที่มีน้ำหนักสะสมต่ำสุดจะเป็นผู้ชนะ ท้าทาย งานของคุณคือการเขียนโปรแกรมที่ใช้สตริงและพิมพ์รูปสี่เหลี่ยมขนมเปียกปูนที่ตัวอักษรตัวแรกเริ่มตรงกลางและตัวละครที่ตามมาจะใช้พื้นที่ว่างฉากตั้งฉากกับชุดของตัวอักษรที่วางไว้ล่าสุด Spaces ( ) จะใช้สำหรับการขยาย ตัวอย่างเช่นการป้อนข้อมูลCATจะผลิต T TAT TACAT TAT T และ()จะผลิต ) )() ) และ dessertsจะผลิต s sts strts strerts streserts stressserts stressesserts stressedesserts stressed desserts stressedesserts stressesserts stressserts streserts strerts strts sts s และจะผลิต99 รายละเอียด รหัสอาจมีเฉพาะASCII ที่พิมพ์ได้และบรรทัดใหม่ (ดูสาเหตุด้านล่าง) อินพุต / เอาต์พุตควรผ่าน stdin / stdout …


6
พิมพ์ขนาดของช่วงเวลาภายในชิ้นส่วนของเพลง
พื้นหลัง ในเพลงตะวันตกโน้ตเพลงทุกเพลงมีชื่อที่กำหนด ภายในแต่ละคู่มีแปดโน้ตที่ไม่ซ้ำกันในลำดับต่อไปนี้: "CC # / Db DD # / Eb EFF # / Gb GG # / Ab AA # / Bb B C" ซึ่งสุดท้าย C เป็นหนึ่งคู่เหนือคนแรก ในการบอกความแตกต่างระหว่างโน้ตของอ็อกเทฟที่แตกต่างกันตัวเลข (สำหรับการท้าทายนี้ จำกัด เพียงตัวเลขหลัก) จะถูกต่อท้ายชื่อโน้ต ดังนั้น C5 คือโน้ตที่มีหนึ่งระดับแปดเสียงเหนือ C4 Bb6 สูงกว่า B5 ข้อเท็จจริงที่สำคัญคือ B5 และ C6 เป็นโน้ตที่อยู่ติดกันและ C0 และ B9 เป็นโน้ตที่ต่ำที่สุดและสูงที่สุด ระหว่างโน้ตสองอันนั้นมีระยะทางซึ่งเป็นจำนวนเซมิโคลอนระหว่างโน้ต …

2
การค้นหาโปรแกรมในช่วงเวลาต่างๆ
มากำหนดตัวเลข 0 ถึง 94 ให้กับอักขระ ASCII 95 ที่พิมพ์ได้ : !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ช่องว่างคือ 0 !คือ 1 และต่อ ๆ ไปจนถึง~94 เราจะกำหนด 95 ให้กับแท็บ ( \t) และ 96 ให้กับบรรทัดใหม่ ( \n) ตอนนี้ให้พิจารณาสตริงที่ไม่มีที่สิ้นสุดซึ่งมีอักขระ Nth เป็นตัวละครด้านบนที่มีการกำหนดหมายเลขเฉพาะของ Nth แบบโมดูโล 97 เราจะเรียกสตริงนี้ว่า S ตัวอย่างเช่นหมายเลขเฉพาะตัวแรกคือ 2 และ 2 mod 97 คือ 2 และ 2 ถูกกำหนดให้ "เพื่อให้ตัวอักษรตัวแรกของ S "เป็น ในทำนองเดียวกันนายกหมายเลข …

8
Missy Elliot, XKCD และ ASCII Bytes
แรงบันดาลใจจากการ์ตูน XKCD ต่อไปนี้: ใน Missy Elliot's "ทำงานมัน" ส่วนหนึ่งของคอรัสจะเป็นดังนี้: Is it worth it, let me work it I put my thing down, flip it and reverse it จำไว้ว่าในใจฉันขอเสนอการแข่งขันกอล์ฟรหัสต่อไปนี้: สร้างรหัสตามลำดับ: รับอินพุต ASCII 8 บิตจาก STDIN เช่นn(Hex 6E หรือ Bin 01101110) เลื่อน 8 บิตของแต่ละไบต์ลงไปในระดับ 1 บิต (ฉันเชื่อว่ามันเรียกว่าการเลื่อนบิตล่าง) เช่น01101110จะกลายเป็น00110111("วางสิ่งที่ฉันลง"); แปลงบิตของแต่ละไบต์เช่น00110111กลายเป็น11001000("พลิก"); ฝืนบิตสำหรับแต่ละไบต์เช่น11001000กลายเป็น00010011 ("ย้อนกลับ"); หากค่าของไบต์น้อยกว่า 32 …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.