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

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

17
Code-Golf: Lattice Points ภายในวงกลม
ภาพต่อไปนี้แสดงปัญหา: เขียนฟังก์ชันที่ให้เลขจำนวนเต็มเป็นรัศมีวงกลมคำนวณจำนวนจุดขัดแตะภายในวงกลมกลาง (รวมถึงขอบเขต) ภาพแสดง: f[1] = 5 (blue points) f[2] = 13 (blue + red points) ค่าอื่น ๆ สำหรับการตรวจสอบ / การดีบักของคุณ: f[3] = 29 f[10] = 317 f[1000] = 3,141,549 f[2000] = 12,566,345 ควรมีประสิทธิภาพที่สมเหตุสมผล สมมติว่าน้อยกว่าหนึ่งนาทีสำหรับ f [1000] รหัสที่สั้นที่สุดชนะ มีการใช้กฎเกณฑ์ของสนามกอล์ฟตามปกติ กรุณาโพสต์การคำนวณและเวลาของ f [1001] เป็นตัวอย่าง

16
Rosetta Stone Challenge: ค้นหากฎสำหรับซีรี่ส์
เป้าหมายของการท้าทาย Rosetta Stone คือการเขียนวิธีแก้ปัญหาในภาษาต่างๆให้ได้มากที่สุด แสดงการเขียนโปรแกรมได้หลายภาษาของคุณ! ความท้าทาย ความท้าทายของคุณคือการใช้โปรแกรมที่ป้อนข้อมูลจะแสดงรายชื่อของตัวเลขและการส่งออกกฎที่ใช้ในการสร้างแต่ละหมายเลขเนื่องในซีรีส์ที่เป็นหลายภาษาการเขียนโปรแกรมที่เป็นไปได้ คุณได้รับอนุญาตให้ใช้ฟังก์ชั่นไลบรารีมาตรฐานทุกประเภทที่ภาษาของคุณมีเนื่องจากนี่เป็นการนำเสนอภาษาเป็นส่วนใหญ่ "ซีรีส์คืออะไร" ซีรีย์คือรายการที่เรียงลำดับของจำนวนเต็ม แต่ละหมายเลขที่ต่อเนื่องกันในซีรีส์สามารถสร้างขึ้นได้โดยใช้กฎง่ายๆกับหมายเลขก่อนหน้าในซีรีส์ ในการท้าทายนี้กฎประกอบด้วยการคูณจำนวนด้วยค่าคงที่แล้วเพิ่มค่าคงที่ที่สอง ค่าคงที่ทั้งสองสามารถเป็นจำนวนเต็มใดก็ได้ เป้าหมายของการท้าทายนี้คือการส่งออกค่าคงที่ทั้งสอง สำหรับซีรีส์กฎสามารถเขียนเป็น2 5 11 2 1ซึ่งหมายความว่าแต่ละหมายเลขเป็นหมายเลขก่อนหน้าคูณ 2 และ 1 ข้อเท็จจริงที่สำคัญคือชุดส่วนใหญ่มีกฎเดียวทั้งหมด บางซีรี่ส์มีจำนวนอนันต์หรือไม่มีเลย แต่คุณจะไม่ต้องจัดการกับเรื่องนี้ อินพุต การป้อนข้อมูลจะเป็นรายการของสามจำนวนเต็มที่แตกต่างกันซึ่งเป็นตัวเลขในลำดับ ตัวเลขสามารถเว้นวรรคจุลภาคหรือขึ้นบรรทัดใหม่ได้ แต่โปรดระบุว่า ฉันจะยืดหยุ่นตามข้อ จำกัด นี้เพราะบางภาษาอาจมีข้อ จำกัด ในการป้อนข้อมูล นี่คือสี่ตัวอย่างของการป้อนข้อมูล: 0 7 14 2 5 11 2 0 -4 5 -19 77 เอาท์พุต เอาต์พุตจะเป็นจำนวนเต็มสองจำนวนซึ่งแทนกฎที่ใช้ในการสร้างชุดข้อมูล จำนวนแรกจะเป็นค่าคงที่การคูณในขณะที่ตัวเลขที่สองจะเป็นค่าคงที่การเติม …

5
รหัส - กอล์ฟ: ไฟดับ!
รหัสที่สั้นที่สุดในการส่งผ่านความเป็นไปได้ทั้งหมดชนะ เกมที่ใช้กริดเป็นจำนวนมากถูกสร้างขึ้นโดยเริ่มจากกริดของแสงที่เปิดอยู่ การกดปุ่มใด ๆ ของแสงจะทำให้แสงและไฟสี่ดวงติดกันเพื่อทำการสลับ เมื่อมีการสลับแสงไฟจะปิดหรือเปิดขึ้นอยู่กับว่าเปิดหรือปิดโดยตั้งใจ เป้าหมายคือการยิงแสงในลำดับที่ส่งผลให้แสงทั้งหมดถูกปิดในตอนท้าย "X" หมายถึงไฟที่เปิดอยู่ "O" หมายถึงไฟที่ปิดอยู่ "P" หมายถึงสี่เหลี่ยมที่กด XOO XOO XOX XOX XXX XOX XOP -> XXO -> OPO -> XOX OOX OOX POO XXO XOO Intial Grid Press 1 Press 2 Press 3 Ending Grid อินพุตสามารถนำโดยตรงจากไฟล์ที่ส่งผ่านเป็นอาร์กิวเมนต์หรือเป็นอินพุตมาตรฐาน บรรทัดแรกของการป้อนข้อมูลจะมีx (1 <= x <= 20) ขนาดของตารางของไฟที่มีความหมายxโดยx บรรทัดที่สองจะมีy …

30
Jolly Jumper Sequence
ลำดับของจำนวนเต็ม n> 0 เรียกว่าจัมเปอร์จัลลี่ถ้าค่าสัมบูรณ์ของความแตกต่างระหว่างองค์ประกอบที่ต่อเนื่องจะใช้กับค่าทั้งหมด 1 ถึง n-1 ดังนั้นลำดับ [4,1,2,4] จึงมีความแตกต่างแน่นอน [3,1,2] ซึ่งเท่ากับชุด [1,2,3] (1 ถึง n-1 โดยที่ n คือความยาวของลำดับดั้งเดิม) ดังนั้นจึงเป็นจัมเปอร์ที่ร่าเริง ลำดับมีความยาว n> 0 สมมติว่า n = 1 เป็นจัมเปอร์ jolly โหมดง่าย ๆ :ไม่ต้องกังวลกับ stdin / stdout เพียงแค่ฟังก์ชั่นที่ยอมรับการโต้เถียงและส่งคืนบางสิ่งที่บ่งบอกว่าร่าเริงหรือไม่ โหมดฮาร์ด:อินพุตบน stdin (คั่นด้วยช่องว่าง) และเอาต์พุตคือ "Jolly" / "Not jolly" การใช้อักษรตัวพิมพ์ใหญ่มีความสำคัญ นี่คือรหัสกอล์ฟ แก้ไข: ลำดับสามารถมีจำนวนเต็มลบและอินพุตบน stdin คือการเว้นวรรค …

6
สลายการเปลี่ยนรูปเป็นวัฏจักร
มีทฤษฎีบทที่รู้จักกันดีว่าคือการเปลี่ยนแปลงใด ๆ ที่สามารถย่อยสลายเป็นชุดของรอบ งานของคุณคือการเขียนโปรแกรมที่สั้นที่สุดเท่าที่จะทำได้ การป้อนข้อมูล: สองเส้น ตัวแรกประกอบด้วยตัวเลขNส่วนที่สองมีNจำนวนเต็มชัดเจนในช่วง[0,N-1]คั่นด้วยช่องว่าง จำนวนเต็มเหล่านี้แสดงถึงการเปลี่ยนแปลงของNองค์ประกอบ เอาท์พุท: หนึ่งบรรทัดสำหรับแต่ละรอบในการเปลี่ยนแปลง แต่ละบรรทัดควรเป็นรายการจำนวนเต็มคั่นด้วยช่องว่างตามลำดับวงรอบ รอบสามารถส่งออกในลำดับใด ๆ และแต่ละรอบสามารถส่งออกเริ่มต้นที่ตำแหน่งใด ๆ ตัวอย่างที่ 1: 8 2 3 4 5 6 7 0 1 อินพุตนี้เข้ารหัสการเปลี่ยนแปลง 0-> 2, 1-> 3, 2-> 4, 3-> 5, 4-> 6, 5-> 7, 6-> 0, 7-> 1 สิ่งนี้จะสลายตัวเป็นวัฏจักรเช่นนี้: 0 2 4 6 1 3 …

10
คำนวณตัวเลขของ Pi
นี่เป็นงานที่ค่อนข้างแตกต่าง คำนวณ 1024 ฐานสิบหกหลักของπเริ่มต้นที่ตำแหน่งเลขฐานสิบหกที่ 1024 เป็นทางการ: โปรแกรมของคุณควรเสร็จสมบูรณ์ในเวลาน้อยกว่า 1 นาทีและสร้างผลลัพธ์ต่อไปนี้: 25d479d8f6e8def7e3fe501ab6794c3b976ce0bd04c006bac1a94fb6409f60c45e5c9ec2196a246368fb6faf3e6c53b51339b2eb3b52ec6f6dfc511f9b30952ccc814544af5ebd09bee3d004de334afd660f2807192e4bb3c0cba85745c8740fd20b5f39b9d3fbdb5579c0bd1a60320ad6a100c6402c7279679f25fefb1fa3cc8ea5e9f8db3222f83c7516dffd616b152f501ec8ad0552ab323db5fafd23876053317b483e00df829e5c57bbca6f8ca01a87562edf1769dbd542a8f6287effc3ac6732c68c4f5573695b27b0bbca58c8e1ffa35db8f011a010fa3d98fd2183b84afcb56c2dd1d35b9a53e479b6f84565d28e49bc4bfb9790e1ddf2daa4cb7e3362fb1341cee4c6e8ef20cada36774c01d07e9efe2bf11fb495dbda4dae909198eaad8e716b93d5a0d08ed1d0afc725e08e3c5b2f8e7594b78ff6e2fbf2122b648888b812900df01c4fad5ea0688fc31cd1cff191b3a8c1ad2f2f2218be0e1777ea752dfe8b021fa1e5a0cc0fb56f74e818acf3d6ce89e299b4a84fe0fd13e0b77cc43b81d2ada8d9165fa2668095770593cc7314211a1477e6ad206577b5fa86c75442f5fb9d35cfebcdaf0c7b3e89a0d6411bd3ae1e7e4900250e2d2071b35e226800bb57b8e0af2464369bf009b91e5563911d59dfa6aa78c14389d95a537f207d5ba202e5b9c5832603766295cfa911c819684e734a41b3472dca7b14a94a โปรแกรมที่มีความยาวสั้นที่สุดจะเป็นผู้ชนะ คุณต้องคำนวณตัวเลขทั้งหมดที่รันไทม์ คุณไม่จำเป็นต้องใช้อัลกอริทึมที่คำนวณπ; หากภาษาของคุณมีฟังก์ชั่นการใช้งานนั้นอยู่แล้วคุณสามารถใช้งานได้

19
พลังที่ไม่สำคัญ
เขียนโปรแกรมที่สั้นที่สุดเพื่อพิมพ์พลังที่ไม่สำคัญ order 2 ^ 12 ตามลำดับ พลังงานที่ไม่สำคัญหมายถึงฐานและเลขชี้กำลังคือ> 1 ช่องว่างนำหน้าเป็นตัวเลือก เมื่อมีวิธีแก้ปัญหาหลายคำสั่งไม่สำคัญ 16 = 4^2, 2^4 ก็โอเค ตัวอย่างผลลัพธ์: 4 = 2^2 8 = 2^3 9 = 3^2 16 = 2^4, 4^2 25 = 5^2 27 = 3^3 32 = 2^5 36 = 6^2 49 = 7^2 64 = 2^6, 4^3, 8^2 81 …
15 code-golf  math 

12
ติดตั้ง glob Matcher
ใช้ฟังก์ชั่นของรูปแบบและสตริงที่จะจับคู่คืนค่าจริงถ้ารูปแบบตรงกับสตริง WHOLE มิฉะนั้นเป็นเท็จ ไวยากรณ์รูปแบบ glob ของเราคือ: ? ตรงกับตัวละครตัวใดตัวหนึ่ง + ตรงกับตัวละครหนึ่งตัวหรือมากกว่า * ตรงกับอักขระศูนย์หรือมากกว่า \ หนี กฎ: ไม่มี eval ไม่แปลงเป็นนิพจน์ทั่วไปไม่เรียกฟังก์ชัน glob ระบบ ไม่จำเป็นต้องใช้ I / O คุณสามารถเขียนฟังก์ชั่นได้ ชนะสั้นที่สุด ตัวอย่าง: glob('abc', 'abc') => true glob('abc', 'abcdef') => false IMPORTANT! glob('a??', 'aww') => true glob('a*b', 'ab') => true glob('a*b', 'agwijgwbgioeb') => true glob('a*?', 'a') …

30
ใช้งานการแบ่ง
ใช้อัลกอริทึมการหารในภาษาที่คุณชื่นชอบซึ่งจัดการการหารจำนวนเต็ม มันต้องการเพียงจัดการกับจำนวนบวก - แต่คะแนนโบนัสถ้ามันจัดการส่วนลบและผสมสัญญาณด้วย ผลลัพธ์จะถูกปัดเศษลงเพื่อผลลัพธ์ที่เป็นเศษส่วน โปรแกรมอาจไม่ได้มี/, \, divหรือผู้ประกอบการที่คล้ายกัน ต้องเป็นกิจวัตรที่ไม่ได้ใช้ความสามารถในการแบ่งส่วนของภาษา คุณจะต้องจัดการได้มากถึง 32 บิต ไม่อนุญาตให้ใช้การลบซ้ำ ๆ อินพุต ใช้สองอินพุตใน stdin คั่นด้วยบรรทัดหรือช่องว่างใหม่ (ตัวเลือกของคุณ) 740 2 เอาท์พุต 370ในกรณีนี้การส่งออกจะเป็น ทางออกที่สั้นที่สุดชนะ

24
วันศุกร์ที่ 13
อะไรคือโปรแกรมที่สั้นที่สุดที่สามารถทำนายได้ในครั้งต่อไปวันศุกร์จะลดลงในวันที่ 13 ของเดือน ต้องเป็นโปรแกรมการทำงานที่สมบูรณ์แบบ (ไม่ใช่เพียงฟังก์ชั่น / รูทีนย่อย) ต้องพิมพ์วันที่ในรูปแบบต่อไปนี้: YYYY-MM-DD อนุญาตให้ผู้ใช้ระบุวันที่เริ่มต้นเป็นอาร์กิวเมนต์บรรทัดคำสั่งหรือผ่าน STDIN หากผู้ใช้ไม่มีวันที่เริ่มต้นให้ใช้วันนี้เป็นวันที่เริ่มต้น หากวันที่เริ่มต้นเป็นวันศุกร์ที่ 13 โปรแกรมควรค้นหาวันศุกร์ที่ 13 ถัดไป ถ้าฉันจะเรียกใช้โปรแกรมวันนี้ (16 ก.พ. 2011) ฉันควรได้ผลลัพธ์ต่อไปนี้ $ ./fr13th 2013-05-09 2013-09-13 $ ./fr13th 2007-06-29 2007-07-13 $ ./fr13th 2007-07-13 2008-06-13 $ ./fr13th 2011-05-13
15 code-golf  date 

6
การเคลื่อนไหวในตารางหกเหลี่ยม
กำหนดอินพุตของชุดอักขระที่แสดงถึงการเคลื่อนไหวบนกริดหกเหลี่ยมเอาท์พุทพิกัดสุดท้ายของ "พอยน์เตอร์" รูปหกเหลี่ยมของเราจะมีหมายเลขเป็นอย่างนั้น (ลองนึกภาพสี่เหลี่ยมกริดที่มีคอลัมน์เลขคี่ทุกคอลัมน์เลื่อนลงด้านล่างเล็กน้อย): _____ _____ _____ _____ / \ / \ / \ / \ / -3,-2 \_____/ -1,-2 \_____/ 1,-2 \_____/ 3,-2 \ \ / \ / \ / \ / \_____/ -2,-1 \_____/ 0,-1 \_____/ 2,-1 \_____/ / \ / \ / \ / \ / -3,-1 …

18
Floating Point XOR
งานของคุณค่อนข้างง่าย ให้สองลอย, bitwise xor แทนไบนารีของพวกเขาและส่งออกที่เป็นลอย ตัวอย่างเช่น, Normal: 16.7472 ^ 123.61 = 7.13402e-37 Binary: 01000001100001011111101001000100 ^ 01000010111101110011100001010010 = 00000011011100101100001000010110 Normal: 2.2 ^ 4.4 = 1.17549e-38 Binary: 01000000000011001100110011001101 ^ 01000000100011001100110011001101 = 00000000100000000000000000000000 Normal: 7.898 ^ 3.4444 = 1.47705e-38 Binary: 01000000111111001011110001101010 ^ 01000000010111000110101001111111 = 00000000101000001101011000010101 ข้อ จำกัด / ชี้แจง: เข้า / ส่งออกจะได้รับโดยใด ๆวิธีที่สะดวก …

1
ทำให้ Quine แข็งตัว
เมื่อคืนฉันกำลังมองหาความท้าทาย Radiation Hardened Quine แต่ฉันหามันไม่เจอ ปรากฎว่าไม่มีใครถามเลย! ดังนั้นนี่คือ: งานของคุณคือสร้าง quine ซึ่งเป็นโปรแกรมคอมพิวเตอร์ที่ไม่ว่างเปล่าซึ่งพิมพ์ต้นฉบับของตัวเองโดยไม่ต้องอ่าน นอกจากนี้หากคุณลบหนึ่งไบต์จากโปรแกรมต้นฉบับของคุณโปรแกรมใหม่ควรพิมพ์แหล่งที่มาของโปรแกรมต้นฉบับของคุณ นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยกว่าจะดีกว่า

30
สองก้าวไปข้างหน้าและถอยหลังหนึ่งก้าว
สมมติว่าฉันอยู่ห่างจากจุดหมายปลายทางของฉันสิบก้าว ฉันเดินไปที่นั่นตามคำพูดเก่า ๆ ว่า "สองก้าวไปข้างหน้าและถอยหลังหนึ่งก้าว" ฉันก้าวไปข้างหน้าสองก้าวย้อนกลับหนึ่งจนกว่าฉันจะยืนอยู่ตรงปลายทางของฉัน (สิ่งนี้อาจเกี่ยวข้องกับการก้าวผ่านปลายทางของฉันและกลับไปที่มัน) ฉันเดินได้กี่ก้าว แน่นอนว่าฉันอาจอยู่ห่างออกไปไม่ถึง 10 ก้าว ฉันอาจอยู่ห่างออกไป 11 ก้าวหรือ 100 ฉันสามารถวัดได้สิบก้าวและเดินต่อไปเรื่อย ๆ เพื่อแก้ปัญหาหรือ ... ฉันสามารถเขียนรหัส! เขียนฟังก์ชั่นเพื่อคำนวณจำนวนขั้นตอนที่ต้องใช้เพื่อให้ได้ N ขั้นตอนตามลำดับ: ไปข้างหน้าสองขั้นตอนและถอยหลังหนึ่งก้าว สมมติว่าคุณเริ่มต้นในขั้นตอนที่ 0 นับ "ก้าวไปข้างหน้าสองขั้น" เป็นสองขั้นตอนไม่ใช่หนึ่งขั้น สมมติว่าทุกขั้นตอนมีความยาวสม่ำเสมอ มันควรกลับจำนวนขั้นตอนแรกเมื่อคุณมาถึงพื้นที่นั้น (ตัวอย่างเช่นขั้นตอน 10 ขั้นตอนใช้เวลา 26 ขั้นตอน แต่คุณจะต้องทำขั้นตอนที่ 30 อีกครั้ง) เราสนใจใน 26 ใช้ภาษาที่คุณชอบ มันควรจะยอมรับจำนวนเต็มบวกใด ๆ ที่เป็นอินพุต สิ่งนี้แสดงถึงขั้นตอนเป้าหมาย จำนวนไบต์ที่น้อยที่สุดชนะ ตัวอย่าง: ฉันต้องการไป 5 …

2
มันเป็นท่าหมากรุกที่ถูกต้องหรือไม่?
ชื่อสำรองของ: ChessMoveQ รับรายการขององค์ประกอบสูงสุด 32 รายการแต่ละรายการประกอบด้วย 4 องค์ประกอบและรายการที่สองที่มี 4 องค์ประกอบพิจารณาว่าการย้ายที่มีรายละเอียดในอินพุตที่สองเป็นการย้ายหมากรุกที่ถูกต้องหรือไม่ รายการแรกระบุตำแหน่งของทั้ง 32 ชิ้นบนกระดาน แต่ละองค์ประกอบจะเป็นไปตามโครงสร้าง<colour>, <piece-name>, <x-coord>, <y-coord>เช่น["W", "K", 5, 1]ซึ่งบ่งชี้ว่าราชาขาวนั้นอยู่บน5, 1( e1บนกระดานหมากรุกทั่วไป) องค์ประกอบทั้งหมดของอินพุตแรกจะไม่ซ้ำกัน <x-coord>และ<y-coord>จะอยู่ระหว่าง 1 ถึง 8 เสมอตัวอย่างหนึ่ง ได้แก่ : [["B", "K", 3, 8], ["B", "Q", 1, 5], ["B", "N", 4, 7], ["B", "N", 7, 8], ["B", "B", 2, 4], ["B", …

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