คำถามติดแท็ก compression

เกี่ยวข้องกับการบีบอัดหรือคลายการบีบอัดข้อมูลโดยพลการ ความท้าทายที่เกี่ยวข้องกับการบีบอัดอินพุตเฉพาะหนึ่ง ๆ ควรติดแท็ก [kolmogorov-complex]

2
บีบอัดภาพเพื่อแสดงตัวอย่าง 4 KiB
ในการท้าทายนี้คุณจะต้องสร้างอัลกอริทึมการบีบอัดภาพตัวอย่าง เป้าหมายคือเพื่อลดไฟล์ภาพที่กำหนดเองไปเป็นภาพตัวอย่างขนาด 4 KiB ซึ่งสามารถใช้เพื่อระบุรูปภาพที่มีแบนด์วิดท์น้อยมากได้อย่างรวดเร็ว คุณต้องเขียนโปรแกรมสองโปรแกรม (หรือโปรแกรมที่รวมกันหนึ่งโปรแกรม): คอมเพรสเซอร์และตัวขยายการบีบอัด ทั้งสองต้องใช้ไฟล์หรือ stdin เป็นอินพุตและเอาต์พุตไปยังไฟล์หรือ stdout คอมเพรสเซอร์ต้องยอมรับภาพหนึ่งภาพในรูปแบบภาพหลัก lossless ของทางเลือก (เช่น PNG, BMP, PPM) และเอาท์พุทไฟล์ของที่มากที่สุด 4096 ไบต์ ตัวขยายการบีบอัดจะต้องยอมรับไฟล์ใด ๆ ที่สร้างโดยคอมเพรสเซอร์และส่งภาพออกให้ใกล้เคียงที่สุดกับอินพุต โปรดทราบว่าไม่มีการ จำกัด ขนาดซอร์สโค้ดสำหรับตัวเข้ารหัส / ตัวถอดรหัสดังนั้นคุณสามารถสร้างสรรค์ในอัลกอริทึมของคุณ ข้อ จำกัด : ไม่มีการโกง'. โปรแกรมของคุณอาจไม่ใช้อินพุตที่ซ่อนอยู่การจัดเก็บข้อมูลบนอินเทอร์เน็ต ฯลฯ นอกจากนี้คุณยังถูกห้ามไม่ให้รวมคุณลักษณะ / ข้อมูลที่เกี่ยวข้องกับชุดภาพการให้คะแนนเท่านั้น สำหรับห้องสมุด / เครื่องมือ / built-ins ที่คุณจะได้รับอนุญาตให้ใช้ทั่วไปการดำเนินงานการประมวลผลภาพ (ปรับเบลอสีเปลี่ยนแปลงพื้นที่ ฯลฯ ) แต่ไม่ได้ภาพถอดรหัส / …

11
สายไหนที่จะตัด
ภารกิจนี้เกี่ยวกับการบีบอัดและประมวลผลลำดับเงื่อนไข ในเกมที่ให้การพูดคุยและไม่มีใครระเบิดเป็นระเบิด defuser ต้องปลดอาวุธระเบิดด้วยความช่วยเหลือของคำแนะนำที่ถูกส่งโดยผู้เชี่ยวชาญด้านการให้คำปรึกษาที่ซับซ้อนDefusal ระเบิดคู่มือการใช้งาน ความท้าทายนี้เกี่ยวข้องกับโมดูล "ในหัวข้อเรื่องของสายไฟ" อธิบายไว้ในหน้า 5 ของคู่มือ Defuser จะแสดงด้วยสายไฟสีต่างๆ มีเพียงหนึ่งเดียวเท่านั้นที่ปลอดภัยในการตัด - ส่วนที่เหลือทำให้เกิดการระเบิด รหัสของคุณทำหน้าที่เป็นผู้เชี่ยวชาญในการกำหนดสายที่จะตัดตามจำนวนและสีของสายตามคำแนะนำในคู่มือการทำซ้ำภายใต้ "กฎการตัดลวด" อินพุต:รายการหรือสตริงที่เรียงลำดับของสีลวด 3, 4, 5 หรือ 6 สีแสดงด้วยตัวอักษรตัวพิมพ์ใหญ่: B: ดำ U: สีน้ำเงิน R: แดง W: ขาว Y: สีเหลือง หมายเหตุสีฟ้าที่เป็นไม่ได้UB อินพุตยังมีบิต (จริง / เท็จหรือ 0/1) ว่าตัวเลขสุดท้ายของหมายเลขซีเรียลของระเบิดนั้นเป็นเลขคี่หรือไม่ซึ่งเป็นเงื่อนไขที่ใช้ในบางกฎ คุณไม่ควรใช้จำนวนสายเป็นอินพุตแยกต่างหาก แต่รับมาจากรายการหรือชุดสี คุณอาจมีรายการหรือสตริงของคุณมีองค์ประกอบเทอร์มิเนเตอร์หลังจากสีบางทีภาษาของคุณไม่สามารถบอกได้ว่านานแค่ไหน เทอร์มิเนเตอร์นี้ควรเป็นค่าคงที่ที่ไม่ได้เข้ารหัสข้อมูลเพิ่มเติม เอาท์พุท:หมายเลข 1 ถึง 6 เพื่อระบุว่าจะตัดสายใด …

28
คำนวณ Super-Logarithm
นี่ควรเป็นความท้าทายอย่างง่าย รับจำนวนn >= 0เอาท์พุทซุปเปอร์ลอการิทึม (หรือเข้าสู่ระบบ * การเข้าสู่ระบบดาวหรือซ้ำลอการิทึมซึ่งเทียบเท่าตั้งแต่nไม่เชิงลบสำหรับความท้าทายนี้.) nของ นี่คือหนึ่งในสองฟังก์ชันผกผันไปtetration อื่น ๆ ที่เป็นซุปเปอร์รากซึ่งอยู่ในคำถามที่เกี่ยวข้อง ตัวอย่าง Input Output 0 0 1 0 2 1 3 2 4 2 ... 15 2 16 3 ... 3814279 3 3814280 4 กฎระเบียบ คุณไม่จำเป็นต้องสนับสนุนทศนิยมแม้ว่าคุณจะสามารถ 3814280 = ceiling(e^e^e)คุณต้องการที่จะสนับสนุนการป้อนข้อมูลอย่างน้อย คุณไม่สามารถเขียนโค้ดค่านิยม3814280ได้ (โปรแกรมของคุณต้องรองรับตัวเลขที่สูงกว่าในทางทฤษฎี ) ฉันต้องการอัลกอริทึมที่จะใช้งาน รหัสที่สั้นที่สุดชนะ OEIS ที่เกี่ยวข้อง
29 code-golf  math  code-golf  array-manipulation  sorting  code-golf  math  arithmetic  matrix  code-golf  string  kolmogorov-complexity  code-golf  string  code-golf  math  sequence  arithmetic  recursion  code-golf  math  ascii-art  sequence  code-golf  math  array-manipulation  code-golf  code-golf  kolmogorov-complexity  code-golf  string  code-golf  string  decision-problem  code-golf  array-manipulation  tips  javascript  json  code-golf  math  string  number  number-theory  code-golf  math  sequence  fibonacci  number  arithmetic  fastest-code  integer  code-golf  math  sequence  code-golf  string  file-system  tips  golfscript  code-golf  string  code-golf  string  natural-language  code-golf  string  file-system  code-golf  math  array-manipulation  code-challenge  image-processing  compression  code-golf  math  number  sequence  code-golf  math  combinatorics  regular-expression  code-golf  sequence  pi  code-golf  ascii-art  code-golf  string  array-manipulation  sorting  code-golf  string  graph-theory  code-golf  string  code-golf  string  ascii-art  code-challenge  compression  code-golf  code-golf  math  sequence  number-theory  code-golf  maze  graph-theory  code-golf  math  sequence 

8
ที่ไหนสักแห่งในหลอด ... แต่บนเส้นไหน
รถไฟใต้ดินลอนดอน AKA หลอดเป็นรถไฟใต้ดินที่เก่าแก่ที่สุดในโลกขณะนี้ประกอบด้วยสิบเอ็ดสาย * บริการ 267 ชื่อสถานี (อย่างเคร่งครัด 269 สถานี ** ตั้งแต่ "Edgware Road" และ "แฮมเมอร์" แต่ละครอบครองสองสถานที่) ความท้าทาย เอาต์พุตชื่อของบรรทัดที่ให้บริการสถานีที่กำหนดโดยชื่อเป็นอินพุต อินพุต: สตริงหรือรายการอักขระ นี่อาจถือว่าเป็นชื่อสถานีที่ถูกต้อง (ตามที่ระบุไว้ในรหัสบล็อกด้านล่าง) คุณอาจสันนิษฐานว่าข้อมูลใด ๆ&ในอินพุตจะเป็นคำ(หรือ) อย่างสม่ำเสมอหากคุณต้องการเพียงแค่ระบุไว้อย่างชัดเจนในคำตอบของคุณandAnd เอาท์พุท: เอาท์พุท แยกรายการของสายสิบเอ็ดให้บริการสถานีที่: รายการสตริงรายการรายการอักขระข้อความที่พิมพ์สตริงรายการของอักขระ หากมีข้อสงสัยให้ถาม คุณอาจเอาท์พุทคำ(หรือ) อย่างต่อเนื่องแทนหากคุณต้องการเพียงแค่ระบุคำตอบของคุณandAnd& ด้วยข้อแม้ที่ว่าหากพิมพ์หรือส่งคืนสตริงหรือรายการของอักขระที่ตัวคั่น - ซับสตริงที่ใช้ไม่ปรากฏในชื่อบรรทัดใด ๆ (รวมถึง&หรือandหรือAndใช้) - สิ่งนี้จึงแยกการใช้อักขระช่องว่างเดียวเป็นตัวคั่น . The Tube Network : - หมายเหตุ: นี่เป็นสถานะสุดท้ายแม้ว่าจะมีการสะกดผิด (เว้นแต่จะได้รับคำตอบก่อนที่จะตอบคำถามใด ๆ …

21
การแปลง“ 0xUsernames”
0xUsernames มีคนจำนวนมากที่ใช้บริการส่งข้อความที่พวกเขาไม่มีพื้นที่ในการจัดเก็บชื่อผู้ใช้ทั้งหมด! ในการแก้ไขปัญหานี้พวกเขาจะเริ่มจัดเก็บชื่อผู้ใช้เป็นเลขฐานสิบหกหากเป็นไปได้ หากชื่อผู้ใช้ประกอบด้วยอักขระ0123456789ABCDEF( ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) มันสามารถแปลงเป็นเลขฐานสิบหกและเก็บเป็นจำนวนเต็ม ตัวอย่างเช่นชื่อผู้ใช้ba5eba11สามารถตีความได้ว่า0xBA5EBA11เป็นจำนวนเต็มฐานสิบหก แต่เกี่ยวกับ05AB1Eอะไร นั่นคือศูนย์นำที่จะหายไป ดังนั้นเมื่อใดก็ตามที่เราแปลงชื่อผู้ใช้เราต้องแน่ใจว่าได้เติม a 1ก่อนที่จะอ่านมันเป็นจำนวนเต็ม ความท้าทาย งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ให้ชื่อผู้ใช้ที่ไม่ว่างเปล่าเป็นสตริงชื่อผู้ใช้ 'hexa-compresses': หากสามารถตีความได้ว่าเป็นเลขจำนวนเต็มฐานสิบหกให้เพิ่ม 1 เป็นการตีความว่าเป็นเลขฐานสิบหกจากนั้นพิมพ์ผลลัพธ์เป็นฐาน 10 มิฉะนั้นเพียงส่งคืนสตริงที่ไม่ได้แก้ไข นี่คือโค้ดกอล์ฟดังนั้นทางออกที่สั้นที่สุด (เป็นไบต์) ชนะ! อนุญาตให้ใช้ฟังก์ชันการแปลงฐานในตัว กรณีทดสอบ คุณสามารถสมมติได้ว่าจำนวนเต็มที่เกิดขึ้นนั้นอยู่ในช่วงจำนวนเต็มมาตรฐานของภาษาของคุณ เช่นเดียวกับชื่อผู้ใช้ในระบบการส่งข้อความส่วนใหญ่สตริงอินพุตจะมีตัวอักษรผสมตัวเลขและเครื่องหมายขีดล่างเท่านั้น จำไว้ว่าคุณจะต้องเพิ่มผู้นำ1ก่อนการแปลง! "ba5eba11" -> 7421737489 "05AB1E" -> 17148702 "dec0de" -> 31375582 "Beef" -> 114415 "da7aba5e" -> 7960443486 "500" -> 5376 "DENNIS" -> "DENNIS" "Garth" …

6
ตัวเลขใหญ่มาก
ในขณะที่พยายามเล่นกอล์ฟคำตอบของฉันหลายคำฉันจำเป็นต้องเขียนจำนวนเต็มจำนวนมากในตัวละครให้น้อยที่สุด ตอนนี้ฉันรู้วิธีที่ดีที่สุดแล้ว: ฉันจะทำให้คุณเขียนโปรแกรมนี้ ความท้าทาย เขียนโปรแกรมที่เมื่อได้รับจำนวนเต็มบวกเอาท์พุทโปรแกรมที่พิมพ์ไปยัง stdout หรือเทียบเท่า โปรแกรมเอาต์พุตไม่จำเป็นต้องเป็นภาษาเดียวกันกับผู้สร้าง ผลลัพธ์จะต้องมีขนาดไม่เกิน 128 ไบต์ คุณสามารถรับอินพุตจาก stdin หรือเทียบเท่า (ไม่ใช่ฟังก์ชั่นอินพุต) คุณสามารถส่งออกผลลัพธ์ของโปรแกรมเป็น stdout หรือเทียบเท่า จำนวนเอาต์พุตต้องเป็นทศนิยม (ฐาน 10) เกณฑ์การให้คะแนน คะแนนของคุณเท่ากับจำนวนเต็มบวกที่น้อยที่สุดที่โปรแกรมของคุณไม่สามารถเข้ารหัสได้ รายการที่มีคะแนนมากที่สุดชนะ

15
เกมไขปริศนาครึ่งวงกลม
Palindrome เป็นคำที่ตรงกันข้ามกัน ขณะนี้มีคำบางคำที่อาจมีลักษณะเหมือน palindromes แต่ไม่ใช่ ยกตัวอย่างเช่นพิจารณาคำ sheesh, sheeshไม่ palindrome เพราะเป็นสิ่งที่ตรงกันข้ามของมันhseehsซึ่งเป็นที่แตกต่างกัน แต่ถ้าเราพิจารณาให้เป็นตัวอักษรเดียวแล้วก็กลับเป็นsh sheeshคำชนิดนี้เราจะเรียกว่าเซมิโคลอน โดยเฉพาะคำหนึ่งคำคือกึ่ง Palindrome หากเราสามารถแบ่งคำนั้นออกเป็นชิ้น ๆ จำนวนหนึ่งเช่นเมื่อคำสั่งของชิ้นนั้นกลับคำเดิมจะเกิดขึ้น (สำหรับsheeshชิ้นส่วนเหล่านั้นsh e e sh) เราจะต้องไม่มีชิ้นที่มีตัวอักษรจากครึ่งทั้งสองของคำ (มิฉะนั้นทุกคำจะเป็นกึ่ง Palindrome) ตัวอย่างเช่นrearไม่ใช่กึ่ง Palindrome เพราะr ea rมีอัน ( ea) ที่มีตัวอักษรจากทั้งสองด้านของคำเดิม เราพิจารณาอักขระกลางในคำที่มีความยาวคี่ให้อยู่ด้านใดด้านหนึ่งของคำดังนั้นสำหรับคำที่มีความยาวคี่อักขระกลางจะต้องอยู่ในกลุ่มของมันเสมอ งานของคุณจะทำรายการของจำนวนเต็มบวกและตรวจสอบว่าพวกเขาเป็นกึ่ง Palindrome รหัสของคุณควรส่งออกค่าไม่เท่ากันที่สอดคล้องกันสองค่าหนึ่งค่าหากอินพุตเป็นแบบกึ่ง Palindrome และอีกค่าหนึ่ง อย่างไรก็ตามลำดับไบต์ของรหัสของคุณจะต้องเป็นกึ่ง palindrome-ตัวเอง คำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยลง การทดสอบกรณี [] -> True [1] -> True [2,1,2] -> …

10
การบีบอัดพลังงานปรมาณูอิออน
นี่คือความท้าทายในการบีบอัดประเภทอื่น ในความท้าทายที่ซับซ้อน kolmogorovปกติคุณจะต้องสร้างรายการใหม่ทั้งหมด ที่นี่คุณได้รับอนุญาตให้ปัดเศษค่าในแบบที่คุณต้องการ ของจับอะไร คะแนนของคุณถูกลงโทษตามความผิดพลาดของคุณ ที่ด้านล่างของคำถามนี้คือรายการพลังงานไอออนไนซ์แรกสำหรับองค์ประกอบ 108 รายการแรก โปรแกรมของคุณเมื่อประมวลผลควรส่งออกสำเนาที่ถูกต้องตามสมควรของรายการนี้ จะไม่มีอินพุตหรืออาร์กิวเมนต์ เพื่อวัตถุประสงค์ในการให้คะแนนผลลัพธ์ของคุณควรถูกกำหนดไว้ (ผลลัพธ์เดียวกันทุกครั้ง) รูปแบบผลลัพธ์ โปรแกรม / ฟังก์ชั่นของคุณจะต้องแสดงรายการ 108 หมายเลขเรียงตามลำดับการเพิ่มหมายเลขอะตอม รายการนี้สามารถอยู่ในรูปแบบที่เหมาะสม ข้อมูลแหล่งข้อมูลด้านล่างมีให้ในลำดับที่ถูกต้องตั้งแต่ไฮโดรเจนจนถึงฮัสเซียม เกณฑ์การให้คะแนน คะแนนของคุณจะเป็นความยาวของโปรแกรมเป็นไบต์บวกกับการปัดเศษ มีการคำนวณค่าปรับปัดเศษสำหรับแต่ละองค์ประกอบและสรุปยอดรวมที่ให้โทษ 11.81381ตัวอย่างเช่นลองมาจำนวน 11.81299999สมมติว่าโปรแกรมของคุณเอาท์พุทค่าไม่ถูกต้องของ ครั้งแรกที่ทั้งตัวเลขจะถูกคูณด้วยอำนาจเดียวกันของ 10 1181381, 1181299.999เช่นว่ามีไม่มีจุดทศนิยมในมูลค่าที่แท้จริง: ศูนย์ต่อท้ายในมูลค่าที่แท้จริงถือว่ามีความสำคัญ 81.001จากนั้นความแตกต่างแน่นอนจะนำไปตรวจสอบข้อผิดพลาดแน่นอน: สุดท้ายเราคำนวณบทลงโทษขององค์ประกอบนี้max(0, log10(err * 4 - 1)) -> 2.50921ดังนี้ สูตรนี้ถูกเลือกเพื่อให้ข้อผิดพลาด <0.5 ไม่มีโทษ (เนื่องจากคำตอบนั้นถูกต้องภายในการปัดเศษ) ในขณะที่ให้โอกาสแบบ asymptotic 50% ที่การปัดเศษจำนวนทศนิยมให้กับตำแหน่งทศนิยมใด ๆ จะให้ประโยชน์สุทธิในคะแนน …

3
สตริงการเล่นกอล์ฟ
ฉันได้ล้มเหลวเสมอที่จะให้คำตอบสำหรับKolmogorov ซับซ้อนความท้าทายที่ต้องใช้การบีบอัดสตริงเหตุผลหลักที่ว่าผมไม่ทราบว่าจะใช้เครื่องมือการบีบอัดสตริงอย่างมีประสิทธิภาพเท่าที่ฉันควร ด้วยเหตุนี้ฉันได้โพสต์คำถามนี้ แตกต่างจากคำถามเคล็ดลับอื่น ๆ ของฉันนี่ไม่ใช่ความหมายเฉพาะภาษาที่ถ้าคุณสามารถนึกถึงเคล็ดลับในภาษาของคุณเองคุณสามารถโพสต์ได้ (หากคุณระบุภาษา) เคล็ดลับทั่วไปยังชื่นชม ดังนั้นฉันจะใช้เครื่องมือบีบอัดสตริงเพื่อให้ได้ประสิทธิภาพสูงสุดได้อย่างไร

2
การบีบอัดภาพ ASCII แบบสูญเสีย
พื้นหลัง PICASCIIเป็นเครื่องมือที่เรียบร้อยที่จะแปลงรูปภาพให้เป็น ASCII art มันให้ระดับความสว่างที่ต่างกันโดยใช้อักขระ ASCII สิบตัวต่อไปนี้: @#+';:,.` เราจะบอกว่า charxels (องค์ประกอบตัวอักษร) เหล่านี้มีความสว่างตั้งแต่ 1 (เครื่องหมาย -) ถึง 10 (เว้นวรรค) ด้านล่างคุณสามารถเห็นผลลัพธ์ของการแปลงรหัสเล็กน้อยธงชาติเวลส์เศษส่วน overhanded, เทราต์ขนาดใหญ่และสนามกอล์ฟขนาดเล็กแสดงด้วยแบบอักษรที่ถูกต้อง: คุณสามารถดูภาพในซอนี้และดาวน์โหลดได้จากGoogle ไดรฟ์ งาน ในขณะที่ผลลัพธ์สุดท้ายของ PICASCII เป็นที่ชื่นชอบในการมองเห็นภาพทั้งห้าภาพรวมกันมีน้ำหนัก 153,559 ไบต์ รูปภาพเหล่านี้สามารถบีบอัดได้เท่าใดหากเราเต็มใจเสียสละส่วนหนึ่งของคุณภาพ งานของคุณคือการเขียนโปรแกรมที่รับภาพ ASCII เช่นภาพด้านบนและคุณภาพขั้นต่ำเป็นอินพุตและพิมพ์การบีบอัดภาพที่สูญเสียไป - ในรูปแบบของโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ส่งกลับสตริงเดียว - ความต้องการคุณภาพ ซึ่งหมายความว่าคุณไม่ต้องเขียนตัวแยกความแตกต่าง มันจะต้องมีอยู่แล้วภายในแต่ละรูปภาพที่ถูกบีบอัด ภาพต้นฉบับจะประกอบด้วย charxels ที่มีความสว่างระหว่าง 1 ถึง 10 โดยคั่นด้วย linefeeds เป็นเส้นที่มีความยาวเท่ากัน รูปภาพที่บีบอัดต้องมีขนาดเท่ากันและใช้ชุดอักขระเดียวกัน สำหรับรูปภาพที่ไม่มีการบีบอัดประกอบด้วยn …

14
นี่เป็นตัวเลขสามเหลี่ยมที่ถูกตัดทอนหรือไม่?
ลำดับ OEIS ที่เกี่ยวข้อง: A008867 หมายเลขสามเหลี่ยมที่ถูกตัดทอน คุณสมบัติทั่วไปของตัวเลขสามเหลี่ยมคือพวกเขาสามารถจัดเรียงในรูปสามเหลี่ยม ตัวอย่างเช่นใช้ 21 และจัดเป็นสามเหลี่ยมของos: โอ อู OOO oooo ooooo oooooo ลองกำหนด "การตัดปลาย:" การตัดสามเหลี่ยมขนาดเดียวกันจากแต่ละมุม วิธีหนึ่งในการตัดทอน 21 มีดังนี้: . . . OOO oooo . ooo . . oo . (รูปสามเหลี่ยม.ถูกตัดจากต้นฉบับ) oเหลืออีก12 วินาทีดังนั้น 12 จึงเป็นเลขสามเหลี่ยมที่ถูกตัดทอน งาน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่น (หรือเทียบเท่า) ที่ใช้จำนวนเต็มและส่งกลับ (หรือใช้วิธีการส่งออกมาตรฐานใด ๆ ) ไม่ว่าจะเป็นตัวเลขเป็นจำนวนสามเหลี่ยมตัดทอน กฎระเบียบ ไม่มีช่องโหว่มาตรฐาน อินพุตเป็นจำนวนเต็มที่ไม่เป็นลบ การตัดไม่สามารถมีความยาวด้านเกินกว่าครึ่งหนึ่งของสามเหลี่ยมเดิม (เช่นการตัดไม่สามารถซ้อนทับกันได้) …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

1
การบีบอัดแบบดิฟ [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา สำหรับความท้าทายนี้คุณจะต้องบีบอัดดิฟ diff เป็นข้อมูลบางอย่างที่แสดงถึงความแตกต่างระหว่างสองสาย สำหรับความท้าทายนี้คุณต้องจัดหาโปรแกรมอย่างน้อยหนึ่งโปรแกรมที่สามารถ: อินพุทAและBและเอาท์พุทดิฟC อินพุทAและCและเอาท์พุทB อินพุทBและCและเอาท์พุทA เป้าหมายคือสร้างความแตกต่างCเล็กที่สุดเท่าที่จะทำได้ diff สามารถเป็นอะไรก็ได้: สตริงตัวเลขจำนวนหยดของข้อมูล เราแค่แคร์เรื่องขนาด (จำนวนไบต์) ฉันมี 50 กรณีทดสอบที่สามารถพบได้บน Github แต่ละกรณีทดสอบประกอบด้วย URL ที่คั่นด้วยช่องว่างสองจุดซึ่งชี้ไปที่ไฟล์ 2 ไฟล์ที่คุณต้องการแตกต่างกัน (กรณีทดสอบเหล่านี้มีต้นกำเนิดมาจากโปรไฟล์ Github ของสมาชิก PPCG ขอบคุณทุกคน!) งานทั้งสามอย่างข้างต้นควรใช้เวลาไม่ถึงนาทีในการทำงานบนคอมพิวเตอร์ที่ได้รับพลังงานพอสมควร (สำหรับแต่ละกรณีทดสอบ) คะแนนของคุณเท่ากับขนาดทั้งหมด (เป็นไบต์) ของทั้ง 50 diffs ต่ำกว่าดีกว่า ไม่อนุญาตให้ใช้ Hardcoding ในโปรแกรมของคุณ (ฉันขอสงวนสิทธิ์ในการเปลี่ยนแปลงกรณีทดสอบเพื่อป้องกันการเข้ารหัส) diffutilsไม่อนุญาตให้สร้างบิวอินที่ต่างกัน (เหมือน)

7
เลื่อนไปที่หน้า ASCII ที่พิมพ์ได้
พื้นหลัง การแปลงแบบย้ายไปด้านหน้า (MTF) เป็นอัลกอริทึมการเข้ารหัสข้อมูลที่ออกแบบมาเพื่อปรับปรุงประสิทธิภาพของเทคนิคการเข้ารหัสแบบเอนโทรปี ในอัลกอริทึมการบีบอัด bzip2จะถูกนำไปใช้หลังจากการแปลง Burrows – Wheeler (ดังที่เห็นในBurrows, Wheeler และ Back ) โดยมีวัตถุประสงค์เพื่อเปลี่ยนกลุ่มของอักขระซ้ำเป็นจำนวนเต็มจำนวนน้อยที่ไม่บีบอัดได้ง่าย คำนิยาม สำหรับจุดประสงค์ของการท้าทายนี้เราจะกำหนดเวอร์ชัน ASCII ที่พิมพ์ได้ของ MTF ดังนี้: รับสายป้อนsใช้อาร์เรย์ที่ว่างเปล่าRสตริงงทุกตัวอักขระ ASCII (0x20 เพื่อ 0x7E) และทำซ้ำต่อไปนี้สำหรับตัวละครแต่ละตัวคของs : ผนวกดัชนีของคในdเพื่อR ย้ายcไปที่ด้านหน้าของdเช่นลบcจากdและเติมลงในส่วนที่เหลือ สุดท้ายเราใช้องค์ประกอบของrเป็นดัชนีในd ต้นฉบับ และดึงอักขระที่เกี่ยวข้อง ตัวอย่างทีละขั้นตอน INPUT: "CODEGOLF" 0. s = "CODEGOLF" d = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" r = [] 1. s = …

12
ฐาน 97 ทั้งหมดของคุณเป็นของเรา
ภาษาการเขียนโปรแกรมหลายภาษาเขียนขึ้นโดยใช้ ASCII, แท็บและการขึ้นบรรทัดใหม่ อักขระ 97 ตัวเหล่านี้จะถูกเก็บไว้ในไบต์ 8 บิต (ซึ่งจริง ๆ แล้วสามารถเก็บอักขระที่แตกต่างกัน 256 ตัว!) ซึ่งไม่มีประสิทธิภาพอย่างยิ่งยวด - โดยเฉพาะอย่างยิ่งในการเล่นโค๊ดกอล์ฟ ในการท้าทายนี้คุณจะสามารถลดคะแนนของคุณโดยใช้การแปลงฐาน ท้าทาย โปรแกรมของคุณ / ฟังก์ชั่นใช้เวลาสตริงหรือตัวอักษรอาร์เรย์เป็น input ซึ่งมันก็ตีความเป็นฐาน-97จำนวน จากนั้นจะแปลงเป็นตัวเลข ฐาน 256และนับจำนวนสัญลักษณ์ (เช่นไบต์) ที่จำเป็นสำหรับแสดงหมายเลขนี้ จำนวนนี้จะเป็นค่าผลลัพธ์ / ผลตอบแทนของโปรแกรม / ฟังก์ชั่นของคุณ ตัวอย่างง่ายๆโดยใช้ base-2 และ base-10 (ไบนารีและทศนิยม): หากอินพุตคือ10110เอาต์พุตจะเป็น 2 ตั้งแต่ 10110 2 = 22 10 (ตัวเลขสองหลักที่จำเป็นในการแทนเอาต์พุต) ในทำนองเดียวกัน 1101 2กลายเป็น …

15
g o l f a t a n 2
บางครั้งจริงๆมันคือการต่อสู้การแปลงพิกัดคาร์ทีเซียนพิกัดขั้วโลก(x,y) (r,phi)ในขณะที่คุณสามารถคำนวณr = sqrt(x^2+y^2)ได้ง่ายมากคุณมักจะต้องแตกต่างจากกรณีเมื่อคำนวณมุมphiเพราะarcsin, arccosและarctanและฟังก์ชันตรีโกณมิติอื่น ๆ ทุกคนมีร่วมโดเมนที่เฉพาะในแต่ละช่วงครึ่งวงกลม ในหลายภาษามี built-in สำหรับการแปลงสี่เหลี่ยมพิกัดเชิงขั้วหรืออย่างน้อยก็มีatan2ฟังก์ชั่นที่ - รับ(x,y)- phiคำนวณมุม งาน งานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นที่ใช้เวลาสอง (จุดลอยไม่ใช่ทั้งสองศูนย์) พิกัดคาร์ทีเซียน(x,y)และเอาท์พุทมุมขั้วโลกที่สอดคล้องกันphiที่phiจะต้องมีในองศาเรเดียนหรือเกรด (มีเกรดผมหมายถึงGradiansซึ่งเป็น 1 / 400 ของวงกลมเต็ม) แล้วแต่ว่าอะไรจะสะดวกสำหรับคุณ (1,0)มุมที่เป็นวัดในทิศทางบวกและเรามีมุมสำหรับศูนย์ รายละเอียด คุณไม่สามารถใช้สร้างเพิ่มเติมที่คำนวณมุมที่phiได้รับสองพิกัดรวมทั้งatan2, rect2polar, argOfComplexNumberและฟังก์ชั่นที่คล้ายกัน อย่างไรก็ตามคุณสามารถใช้ฟังก์ชั่นตรีโกณมิติปกติและการกลับด้านได้ซึ่งจะรับเพียงหนึ่งอาร์กิวเมนต์เท่านั้น สัญลักษณ์หน่วยใดก็ได้เป็นตัวเลือก รัศมีrจะต้องไม่เป็นลบและphiจะต้องอยู่ในช่วง[-360°, 360°](ไม่สำคัญว่าคุณจะส่งออก270°หรือ-90°) ตัวอย่าง Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) …
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.