คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

3
การแข่งขันของตัวเลข
คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่กำหนดลำดับเริ่มต้นของจำนวนเต็มบวกหนึ่งหลักที่แตกต่างกันอย่างชัดเจนและความยาวของแทร็กเป็นเอาท์พุทอินพุตหรือส่งคืนลำดับเสร็จสิ้นของตัวเลข อินพุต[5,1,2,6,7] and 14กำหนดการแข่งขันต่อไปนี้: -------------- 76215 -> -------------- กฎของการแข่งขัน แทร็กล้อมรอบและหลักสามารถไปหลายรอบ คำสั่งของขั้นตอนเป็นรอบและขึ้นอยู่กับตำแหน่งเริ่มต้น 5 1 2 6 7 5 1 2 ...ในตัวอย่างของเรา ต้องไม่มีตัวเลขหลายหลักในตำแหน่งเดียวกัน ทุกหลักมีความเร็วของdigit_valueเซลล์ต่อขั้นตอน การแซงตัวเลขหรือการบล็อกตัวเลขต่อเนื่องมีค่าใช้จ่ายเพิ่มอีกหนึ่งขั้น หากตัวเลขไม่มีความเร็วที่จำเป็นสำหรับสิ่งนั้นมันจะหยุดก่อนที่ตัวเลข (บล็อก) ตัวอย่าง: [41 ] => [ 1 4 ] 4 overtakes 1 [2 1 ] => [ 21 ] 2 can only move 1 as it …

3
ASCII L-system renderer
พื้นหลัง L-ระบบ (หรือระบบ Lindenmayer) เป็นระบบการเขียนแบบขนานที่เหนือสิ่งอื่น ๆ ที่สามารถใช้งานได้ง่ายเพื่อ fractals รุ่น คำถามนี้เกี่ยวข้องกับการกำหนดบริบทฟรี L-ระบบ สิ่งเหล่านี้ประกอบด้วยตัวอักษรของสัญลักษณ์สตริงสัจพจน์เริ่มต้นและชุดของกฎการเขียนใหม่การแมปสัญลักษณ์ตัวอักษรแต่ละตัวกับสายอักขระใหม่ กฎถูกนำไปใช้กับสัจพจน์ในแบบคู่ขนานสร้างสตริงใหม่ กระบวนการนี้ซ้ำแล้วซ้ำอีก ตัวอย่างเช่นระบบที่มีสัจพจน์ "A" และกฎ A = ABA; B = BBB สร้างลำดับของสตริง "ABA", "ABABBBABA", "ABABBBABABBBBBBBBBABABBBABA" อย่างชัดเจนเราไม่ได้กล่าวถึง ตัวอักษรเมื่อกำหนดระบบ L นอกจากนี้สัญลักษณ์ใด ๆ ที่ไม่มีกฎการเขียนที่ชัดเจนจะถือว่าไม่มีการเปลี่ยนแปลง (เช่นกฎเริ่มต้นสำหรับสัญลักษณ์ A คือ A = A) ระบบ L สามารถมองเห็นได้โดยใช้รูปแบบของกราฟิกเต่า โดยการประชุมเต่าเริ่มหันหน้าไปทางขวา สตริงจะถูกดึงโดยการวนซ้ำสัญลักษณ์: F หมายถึง "ดึงไปข้างหน้าหนึ่งหน่วย", G หมายถึง "เคลื่อนที่ไปข้างหน้าหนึ่งยูนิต", …

6
วงกลมที่ทับซ้อนกัน
คุณควรจะเขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับNจากNตารางสี่เหลี่ยมเว้นระยะห่างเท่า ๆ กันและเอาท์พุทที่เป็นของแข็งวงกลมไว้หรือผลตอบแทนจำนวนตารางสี่เหลี่ยมที่มีการซ้อนทับบางส่วนหรือเต็มโดยวงกลมที่เป็นของแข็ง การทับซ้อนขนาด 0 (เช่นเมื่อวงกลมแตะเพียงเส้นเดียว) จะไม่ถูกนับ (ทับซ้อนเหล่านี้เกิดขึ้นที่เช่นN = 10.) ตัวอย่าง N = 8 (64 squares), Slices = 60 อินพุต N > 0จำนวนเต็ม (กริดจะมีN * Nกำลังสอง) เอาท์พุต จำนวนเต็มหมายถึงจำนวนชิ้นวงกลมทึบ ตัวอย่าง (คู่อินพุต - เอาต์พุต) Inputs: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Outputs: 1 …

1
เขียนตัวแก้ความซับซ้อนของ Kolmogorov
ซับซ้อน KolmogorovของสตริงSคือความยาวของโปรแกรมสั้นPเขียนในบางภาษาโปรแกรมLที่มีการส่งออกเป็นสิ่งS (ใช่คำจำกัดความที่แท้จริงนั้นเป็นทางการมากกว่า แต่จะเพียงพอสำหรับความท้าทาย) งานของคุณในความท้าทายนี้คือการเขียนที่เป็นไปได้ "Kolmogorov ซับซ้อนแก้" ที่สั้นที่สุดที่เป็นโปรแกรมที่เขียนในLตัวเองที่ใช้เวลาในสตริงSและผลตอบแทนที่สั้นที่สุดPเขียนในLที่เอาท์พุทS วิธีไร้เดียงสาที่จะนี้คือการย้ำกว่าทุกความยาว 1 โปรแกรมแล้วทั้งหมดยาว 2 โปรแกรมแล้วทั้งหมดความยาว 3 โปรแกรมและอื่น ๆ ทำงานแต่ละของพวกเขาและการวัดการส่งออกจนกว่าโปรแกรมที่เอาท์พุทSพบ ปัญหาของวิธีนี้คือโปรแกรมบางตัวอาจไม่หยุดทำงานซึ่งหมายความว่าตัวแก้ปัญหาอาจไม่หยุดทำงาน และเนื่องจากปัญหาการหยุดทำงานไม่มีวิธีที่แน่นอนในการหลีกเลี่ยงโปรแกรมที่ไม่หยุด เรียบง่าย แต่วิธีการแก้ปัญหาที่ไม่สมบูรณ์คือการใส่เวลาที่ จำกัด ในเวลาดำเนินการของแต่ละศักยภาพP 's โปรแกรมที่ไม่ได้หยุดชะงักในเวลาอาจถูกส่งผ่าน แต่ตัวแก้ปัญหาจะหยุดแน่นอน (สมมติว่าโปรแกรมในLสามารถส่งออกSภายในเวลาที่กำหนด) ท้าทาย เขียนตัวแก้ปัญหาของคุณเป็นโปรแกรมหรือฟังก์ชั่นที่มีสามสิ่ง: สตริงS เลขจำนวนเต็มบวกTนั่นคือการ จำกัด เวลาในหน่วยวินาทีหรือบางช่วงเวลาที่เล็กลง (เช่นมิลลิวินาที) สตริงAของตัวอักษรของอักขระที่ใช้สำหรับP 'ที่มีศักยภาพ และผลที่สั้นที่สุดPที่มีเพียงตัวละครในวิ่งในเวลาน้อยกว่าTหน่วยเวลาและเอาท์พุทS นี่คือ pseudocode ทั่วไป: Function KolmogorovComplexitySolver(S, T, A): Assign N to 0 Loop until …

5
การดำเนินการบิตที่ไม่ฉลาด
ฉันชอบเล่นกอล์ฟdcแต่บางครั้งฉันก็รู้สึกท้อแท้เพราะdcไม่มีปฏิบัติการในระดับบิต ท้าทาย ให้สี่ฟังก์ชั่นการตั้งชื่อที่ใช้เทียบเท่าของการดำเนินงานคบิต&, |, ~และ^(บิต AND, OR, NOT และแฮคเกอร์) แต่ละฟังก์ชันจะใช้ตัวถูกดำเนินการสองตัว ( ~รับเพียงตัวเดียว) ซึ่งเป็นจำนวนเต็มอย่างน้อย 32 บิตที่ไม่ได้ลงชื่อ แต่ละฟังก์ชั่นจะคืนค่าจำนวนเต็มที่ไม่ได้ลงนามซึ่งมีความกว้างบิตเท่ากับตัวถูกดำเนินการ การ จำกัด คุณสามารถใช้การดำเนินการที่ได้รับการสนับสนุนdcเท่านั้น เหล่านี้คือ: + - * / การบวกการลบการคูณและการหารทางคณิตศาสตร์ ~ modulo (หรือ divmod หากภาษาของคุณรองรับ) ^ การยกกำลัง | การยกกำลังแบบแยกส่วน v รากที่สอง > >= == != <= < ผู้ประกอบการความเสมอภาค / ความไม่เท่าเทียมกันมาตรฐาน >> <<ผู้ประกอบการเปลี่ยนบิต dcไม่มีสิ่งเหล่านี้ แต่เนื่องจากมีการใช้งานเพียงเล็กน้อยในแง่ของการหาร / …

7
การพิมพ์ด้วยปุ่มสัญญาณรบกวน
เพื่อนของคุณไม่ดีกับคอมพิวเตอร์ดังนั้นเป็นเรื่องตลกในทางปฏิบัติใครบางคนกวนตัวอักษร (az) บนแป้นพิมพ์ของเขา เมื่อเขานั่งลงและพยายามพิมพ์ชื่อของเขาดูที่แป้นพิมพ์เขาก็ตระหนักว่าตัวอักษรดังกล่าวมีสัญญาณรบกวนและขอความช่วยเหลือจากคุณ คุณฉลาดเพื่อให้คุณรู้ว่าถ้าเขาพิมพ์ชื่อของเขาและจากนั้นพิมพ์ซ้ำสิ่งที่เกิดขึ้นบนหน้าจอแทนชื่อของเขาเขาจะประสบความสำเร็จในการป้อนชื่อของเขาในที่สุด คุณยังใจดีและจัดเรียงกุญแจใหม่อีกครั้ง แต่ต้องการทราบว่าจะต้องใช้เวลากี่ครั้งในการประสบความสำเร็จ งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ให้ตัวอักษรสับและชื่อของเพื่อนคำนวณจำนวนรอบ รายละเอียดการป้อนข้อมูล: มีการให้สองสตริงเป็นอินพุตในโครงสร้างที่สะดวกสำหรับภาษาของคุณ สตริงแรกคือรายการของตัวอักษรตัวพิมพ์เล็กใหม่ตามลำดับตัวอักษรของตัวอักษรเก่า (อักขระตัวแรกคือตัวอักษรที่อยู่ที่ตำแหน่งตัวอักษรตัวaสุดท้ายอยู่ที่ตำแหน่งz) การเปลี่ยนแปลงบางอย่างจะเกิดขึ้นในสตริงเสมอ สตริงที่สองคือชื่อ มันสามารถมีตัวอักษร ASCII ที่พิมพ์ได้ใด ๆ แต่ตัวอักษรตัวอักษรบนและล่างจะถูกสับถ้ามี ชื่อตัวเองอาจไม่ได้สับที่อัล รายละเอียดผลลัพธ์: เอาท์พุทเป็นจำนวนเต็มเดียวจำนวนการเลี้ยวที่ต้องการน้อยที่สุด ขึ้นบรรทัดใหม่เป็นตัวเลือก ตัวอย่าง: อินพุต: 'abcfdeghijklmnopqrstuvwxyz' 'Mr. John Doe'(d, e, f เปลี่ยนตำแหน่ง) เอาต์พุต: 3(ชื่อที่แสดงคือ: Mr. John Fod=> Mr. John Eof=> Mr. John Doe) อินพุต: 'nopqrstuvwxyzabcdefghijklm' 'Mr. John Doe'( รหัส ROT13 …

9
แปลงช่วงเวลาที่มนุษย์อ่านได้เป็นองค์ประกอบวันที่
ท้าทาย เขียนโปรแกรมที่สั้นที่สุดที่แปลงช่วงเวลาที่มนุษย์อ่านได้เป็นองค์ประกอบวันที่ของแบบฟอร์ม: {±YEARS|±MONTHS|±DAYS|±HOURS|±MINUTES|±SECONDS} กรณีตัวอย่าง แต่ละกรณีทดสอบคือสองบรรทัดอินพุตตามด้วยเอาต์พุต: 1 year 2 months 3 seconds {1|2|0|0|0|3} -2 day 5 year 8months {5|8|-2|0|0|0} 3day 9 years 4 seconds -5 minute 4 years 4 years -3seconds {17|0|3|0|-5|1} กฎระเบียบ คุณไม่สามารถใช้strtotimeหรือฟังก์ชั่นในตัวที่ทำงานได้ทั้งหมด รหัสที่สั้นที่สุดชนะ (ไบต์) คุณสามารถพิมพ์ผลลัพธ์ของคุณไปยังstdoutไฟล์หรือผลลัพธ์ก็สามารถถูกส่งกลับโดยฟังก์ชั่นมันขึ้นอยู่กับคุณ โทเค็นสามารถอยู่ในรูปเอกพจน์หรือพหูพจน์ ส่วนประกอบอาจอยู่ในลำดับแบบสุ่ม อาจไม่มีช่องว่างระหว่างหมายเลขและโทเค็น เครื่องหมายเป็นทางเลือกเมื่อช่วงเวลาเป็นค่าบวก (อินพุตและเอาต์พุต) หากส่วนประกอบปรากฏมากกว่าหนึ่งครั้งควรเพิ่มค่า แต่ละองค์ประกอบมีเครื่องหมายของตนเอง ควรจัดการส่วนประกอบแยกต่างหาก (เช่น80 minutesยังคงเป็น 80 ในเอาต์พุต) อินพุตรับประกันว่าเป็นตัวพิมพ์เล็ก มีความสุขในการเล่นกอล์ฟ!
16 code-golf  string  date 

2
ทำคะแนนเกม Kingdom Builder
ฉันต้องการลองโค้ดกอล์ฟรูปแบบใหม่ที่นี่ คล้ายกับโบนัสไม่ใช่ทุกส่วนของการท้าทายที่จะต้องทำให้เสร็จ แต่คำตอบแต่ละข้อจะต้องใช้ส่วนย่อยที่มีขนาดที่แน่นอน ดังนั้นนอกเหนือจากการตีกอล์ฟความท้าทายนี้ยังเกี่ยวข้องกับการเลือกชุดคุณลักษณะที่เข้ากันได้ดี กฎระเบียบ Kingdom Builderเป็นเกมกระดานที่เล่นบนกริด hex (จุดสูงสุด) กระดานประกอบด้วยสี่ส่วน (แบบสุ่ม) ซึ่งแต่ละกลุ่มมีเซลล์ Hex10 เท่า 10x10 (ดังนั้นกระดานเต็มจะเป็น 20x20) สำหรับจุดประสงค์ของการท้าทายนี้แต่ละเซลล์ฐานสิบหกมีทั้งน้ำ ( W), ภูเขา ( M) เมือง ( T), ปราสาท ( C) หรือว่างเปล่า ( .) ดังนั้นจตุภาคอาจดูเหมือน . . W . . . . . . . . M W W . . . …

17
ค้นหาสตริงย่อยที่มีค่ามากที่สุด 1 ลำดับ
บทนำ ฉันต้องการที่จะหาย่อยที่มีมากที่สุด1's ในลำดับของ0' และ1's อินพุต โปรแกรมของคุณมีสองอินพุตลำดับและความยาวซับสตริง ลำดับคือจำนวนใด ๆ0'และ1' s: 01001010101101111011101001010100010101101010101010101101101010010110110110 ยาว substringเป็นที่ไม่ใช่ศูนย์จำนวนเต็มบวกใด ๆ 5 เอาท์พุต โปรแกรมของคุณควรส่งออกดัชนีเริ่มต้นของ substring แรกของการกำหนดความยาวที่มีมากที่สุด1's ด้วยอินพุตข้างต้นผลลัพธ์คือ: 10 0ตัวอักษรตัวแรกในสตริงเริ่มต้นที่ดัชนีของ เกณฑ์การให้คะแนน รหัสที่สั้นที่สุดชนะ! กฎระเบียบ โปรแกรมของคุณจะต้องส่งออกดัชนีที่ถูกต้องสำหรับอินพุตที่ถูกต้องใด ๆ คุณสามารถเลือกวิธีการอินพุต / เอาต์พุตของคุณจากคำตอบใด ๆ ที่มีคะแนนบวกเกี่ยวกับตัวเลือกเริ่มต้น โปรดระบุวิธีการที่คุณเลือกในคำตอบของคุณ

5
เล่น Nim ของ Wythoff อย่างสมบูรณ์แบบ
เป้าหมายของคุณคือการเขียนเป็นผู้เล่นที่สมบูรณ์แบบสำหรับการเล่นเกมของWythoff ของสะเดา กฎของ NIM ของ Wythoff Wythoff's Nim เป็นเกมที่มีผู้เล่นสองคนที่เล่นกับกองที่เหมือนกันสองกอง ผู้เล่นผลัดกันซึ่งพวกเขาทำอย่างใดอย่างหนึ่งเหล่านี้ ลบหนึ่งเคาน์เตอร์ขึ้นไปจากกองแรก ลบหนึ่งเคาน์เตอร์ขึ้นไปจากกองที่สอง ลบจำนวนตัวนับเท่ากัน (อย่างน้อยหนึ่งตัว) จากทั้งกองแรกและกองที่สอง แน่นอนว่ากองไม่สามารถติดลบได้ แต่พวกเขาสามารถทำได้ถึง 0 ผู้เล่นใดก็ตามที่นับคะแนนสุดท้ายโดยรวมชนะเกม สำหรับความคิดเชิงเรขาคณิตที่มากขึ้นนี่คือสูตรที่เทียบเท่าของเกมที่คุณสามารถเล่นบนแอปเพล็ตนี้ ราชินีเดี่ยวเริ่มต้นบนกระดานหมากรุกที่ไม่มีที่สิ้นสุดของสี่เหลี่ยมจัตุรัสซึ่งมีมุมอยู่ทางซ้ายล่าง ผู้เล่นเลือกที่จะย้ายราชินีซึ่งเคลื่อนไหวเหมือนราชินีหมากรุก แต่ถูก จำกัด ไว้ที่สามทิศทาง: ลง ซ้าย ทแยงมุมลงและซ้าย ใครก็ตามที่ย้ายราชินีไปยังมุมที่ชนะ เชื่อมโยงพิกัดของราชินี (กับมุม(0,0)) กับขนาดของเสาเข็มที่เกี่ยวข้องมันเป็นเรื่องง่ายที่จะเห็นทั้งสองเกมเหมือนกัน การเล่นที่สมบูรณ์แบบ (คุณสามารถข้ามสิ่งนี้ได้หากคุ้นเคยกับแนวคิดของการเล่นที่สมบูรณ์แบบและการเคลื่อนไหวที่ชนะ) ตั้งแต่ Wythoff ของสะเดาเป็นเกมที่ จำกัด และกำหนดก็มีความคิดของการเล่นที่สมบูรณ์แบบ ผู้เล่นที่สมบูรณ์แบบคือกลยุทธ์ที่มักจะชนะจากตำแหน่งที่ชนะในทางทฤษฎีซึ่งหมายถึงตำแหน่งที่มีกลยุทธ์ที่รับประกันการชนะ เพื่อเป็นกลยุทธ์ในการชนะมันพอเพียงที่จะย้ายไปยังตำแหน่งที่ชนะตามทฤษฎีสำหรับผู้เล่นที่เพิ่งย้ายไปและทำให้ผู้เล่นไม่ไปต่อไป ครั้งแรกของตำแหน่งชนะเลิศเหล่านี้ (หรือที่เรียกว่าตำแหน่งเย็น ) (0,0), (1,2), (2,1), (3,5), (5,3)เป็น ดูบทความวิกิพีเดียสำหรับคำอธิบายเกี่ยวกับอัลกอริทึมเพื่อค้นหากลยุทธ์การชนะสำหรับนิมของ …

2
ช่วงเวลาที่ดีในการปฏิเสธ
การตั้งค่า สมมติว่าคุณได้รับฟิวส์nด้วย 1 ≤ n ≤ 5 ซึ่งแต่ละอันมีความยาวเมตรและที่ฟิวส์แต่ละอันมีอัตราการเผาไหม้ที่เกี่ยวข้องNเมตรต่อDชั่วโมง ฟิวส์สามารถติดไฟที่ปลายด้านหนึ่งหรือทั้งสองด้านจากนั้นดับที่ปลายด้านหนึ่งหรือทั้งสองข้าง relit, re-extinguished และอื่น ๆ หลาย ๆ ครั้งตามต้องการจนกว่าฟิวส์จะถูกใช้จนหมด คุณสามารถจุดไฟและดับฟิวส์ได้ทันทีและคุณสามารถสังเกตได้ทันทีว่าฟิวส์ถูกใช้หมดแล้ว (ไหม้) ฟิวส์ไม่สามารถตัดและไม่สามารถติดที่ใดก็ได้ยกเว้นที่ปลาย การตั้งค่าดังกล่าวช่วยให้ระบบจับเวลามีความแม่นยำอย่างไม่สิ้นสุดโดยการวัดเวลาระหว่างเหตุการณ์ไฟ / การใช้ฟิวส์สองครั้ง ตัวอย่างเช่นเมื่อได้รับฟิวส์สองครั้งที่มีอัตราการเผาไหม้ 1 เมตรต่อชั่วโมงคุณสามารถวัดได้ 45 นาที (3/4 ชั่วโมง) พร้อมกัน: ส่องฟิวส์แรกที่ปลายทั้งสองข้างส่องไฟฟิวส์ที่สองที่ปลายด้านหนึ่งและทำเครื่องหมายจุดเริ่มต้นของช่วงเวลาของคุณ จุดไฟที่สองของฟิวส์ที่สองในทันทีที่ฟิวส์แรกถูกใช้ (30 นาทีต่อมา) ทำเครื่องหมายจุดสิ้นสุดของช่วงเวลาของคุณในทันทีที่มีการใช้ฟิวส์ตัวที่สอง (15 นาทีต่อมา) ความท้าทาย กำหนดจำนวนเศษส่วนของเวลาtและชุดของเศษส่วนnแทนอัตราการเผาไหม้ที่แน่นอนของฟิวส์nเขียนโปรแกรมหรือฟังก์ชันที่เอาต์พุต / ส่งกลับค่าความจริงถ้าtชั่วโมงสามารถวัดได้อย่างแม่นยำผ่านการเผาระบบของฟิวส์หรือ ค่าที่ผิดพลาดเป็นอย่างอื่น อินพุตไปยังโปรแกรมสามารถเป็นดังต่อไปนี้: อาร์กิวเมนต์บรรทัดคำสั่งของฟอร์ม TN/TD N1/D1 N2/D2 N3/D3 ... สตริงของแบบฟอร์มTN/TD …

14
รูปลักษณ์และการพูด: Conway มาเยือน
คุณควรคุ้นเคยกับลำดับ Conway (หรือที่รู้จักกันว่า 'look-and-say'-sequence)โดยตอนนี้: 1 11 21 1211 111221 312211 etc นอกจากนี้คุณยังสามารถเริ่มต้นด้วยหมายเลขโดยพลการใด ๆ เป็นจุดเริ่มต้น อนุญาตf(s)เป็นองค์ประกอบถัดไปของลำดับ ตอนนี้สำหรับทุกคนให้สิทธิ์แก่เราสามารถหาs f(s)กลับไม่เป็นที่น่ารำคาญ: มันไม่ได้สำหรับทุกคนyที่เป็นไปได้ที่จะหาบรรพบุรุษดังกล่าวว่าs f(s) = yเช่นสำหรับy = 1เราไม่สามารถหาบรรพบุรุษ แต่ถ้าyมีแม้แต่ความยาวคุณสามารถแบ่งออกเป็นคู่ของตัวเลขซึ่งอธิบายแต่ละส่วนหนึ่งของบรรพบุรุษ: 513211 divides in 51,32,11 so: 51 comes from 11111 32 comes from 222 11 comes from 1 put together: 111112221 ด้วยวิธีนี้เราสามารถกำหนดบรรพบุรุษที่ไม่ซ้ำกันสำหรับทุกyความยาว หมายเหตุ : ใน 'รุ่นก่อน' กำหนดวิธีนี้ไม่ทั่วไปไม่ตอบสนองsf(s) …
16 code-golf 

10
เลิกทำการรากที่สอง
งานของคุณคือแปลงทศนิยมให้เป็นผลรวมของสแควร์รูทของจำนวนเต็ม ผลลัพธ์จะต้องมีความถูกต้องของตัวเลขทศนิยมอย่างน้อย 6 หลัก อินพุต : ตัวเลขที่ระบุจำนวนของรากที่สองและทศนิยมที่แสดงถึงจำนวนโดยประมาณ อินพุตตัวอย่าง: 2 3.414213562373095 เอาท์พุท : จำนวนเต็มคั่นด้วยช่องว่างที่เมื่อสแควร์รูทและเพิ่มจะประมาณทศนิยมเดิมที่ถูกต้องเป็นอย่างน้อย 6 หลักทศนิยมที่สำคัญ ไม่อนุญาตให้ใช้ค่าศูนย์ในการแก้ปัญหา หากมีหลายวิธีคุณจะต้องพิมพ์เพียงวิธีเดียว ตัวอย่างผลลัพธ์ (ในลำดับใด ๆ ): 4 2 Math.sqrt(4) + Math.sqrt(2) == 3.414213562373095งานนี้เพราะ นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุด (พร้อมโบนัสเสริม) ชนะ! จะมีวิธีแก้ปัญหาอยู่เสมอ แต่ -10 หากโปรแกรมของคุณพิมพ์ "ไม่" เมื่อไม่มีวิธีแก้ปัญหาด้วยจำนวนเต็ม นอกจากนี้ -10 หากโปรแกรมของคุณพิมพ์โซลูชั่นทั้งหมด (คั่นด้วยบรรทัดใหม่หรืออัฒภาคหรืออะไรก็ตาม) แทนที่จะเป็นเพียงหนึ่ง กรณีทดสอบ: 3 7.923668178593959 --> 6 7 8 …

1
รวบรวมภาษาอังกฤษสำหรับเจ้านายของคุณ
เจ้านายของคุณได้เรียนรู้เมื่อเร็ว ๆ นี้ของภาษาการเขียนโปรแกรมที่น่าสนใจนี้เรียกว่าภาษาอังกฤษ เขามีความคิด "ปฏิวัติ" นี้เขาต้องการเขียนโค้ดกับคุณเพื่อเพิ่มอัตราการผลิตรหัสสองเท่า! เนื่องจากเขาไม่ใช่ผู้เชี่ยวชาญด้านเทคโนโลยีเขาจึงต้องการให้คุณเขียนคอมไพเลอร์เพื่อให้เขาสามารถใช้รหัสได้เช่นกัน! ตอนนี้คุณเป็นโปรแกรมเมอร์ที่ขี้เกียจชั่วและเห็นได้ชัดว่าจะไม่เขียนโปรแกรมเพื่อรวบรวมภาษาที่ซับซ้อนอย่างน่าขันนี้ แต่คุณจะต้องทำให้แน่ใจว่ามีข้อผิดพลาดในรหัสของเจ้านายของคุณอยู่เสมอเพื่อให้เขาไม่เคยได้รับการคอมไพล์จริงและติดแก้ไขข้อผิดพลาดทางไวยากรณ์แทนการเข้ารหัส ความท้าทายคือการเขียนโปรแกรมที่สามารถเรียกใช้จากเทอร์มินัลและยอมรับเส้นทางของไฟล์เป็นอาร์กิวเมนต์ โปรแกรมจะต้อง: แก้ไขอินพุตไฟล์โดยแนะนำการพิมพ์ผิด แสดงว่าการรวบรวมล้มเหลวเนื่องจากพบการพิมพ์ผิดที่คุณแนะนำ การรันโปรแกรมบนสำเนาของไฟล์เดียวกันไม่ควรพิมพ์ผิดซ้ำสองครั้งติดต่อกัน เพื่อแสดงความท้าทายให้เรียกใช้โปรแกรมของคุณในไฟล์นี้: Take an array as input. Sort the array. Output the array. ควรเอาท์พุทบางอย่างตามแนวของ Error on line 1: 'Take an arqay as input.' ^ arqay is not a valid identifier. และไฟล์ที่คุณบอกให้โปรแกรมคอมไพล์ตอนนี้ควรมีลักษณะดังนี้: Take an arqay as input. Sort …
16 code-golf 

25
สั้นกว่าเสี้ยววินาที!
ท้าทาย งานของคุณสำหรับคำถามนี้คือการแบ่งอาร์เรย์อินพุตของจำนวนเต็มในการเกิดขึ้นครั้งที่สองของทุกจำนวนเต็มในอาร์เรย์นั้น ไม่ชัดเจนเพียงพอหรือไม่ นี่คือตัวอย่างที่จะช่วย อาร์เรย์อินพุต: [2 1 1 2 3 2 2 4 5 6 7 3 7 0 5] เอาท์พุท: [[2 1] [] [3 2 2 4 5 6 7] [] [0] []] คำอธิบาย: นี่คืออาร์เรย์ที่มีเพียงองค์ประกอบที่สองที่เน้นเป็นตัวหนา: [2 1 1 2 3 2 2 4 5 6 7 3 7 0 …

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