การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

5
คำนวณความต้านทานของตัวต้านทานรหัสสี 4 แบนด์
ตัวต้านทานทั่วไปมีวงดนตรีที่รหัสสีที่ใช้ในการระบุตัวตนของพวกเขาที่มีความต้านทานในOhms ในความท้าทายนี้เราจะพิจารณาเฉพาะตัวต้านทานแบบแบนด์ 4 แบนแทนสีแทนแกนแนวแกนเท่านั้น เราจะแสดงเป็น: xyzt ที่ไหนxเป็นวงแรกสำหรับความหมายแรกyเป็นวงที่สองสำหรับความหมายที่สองzวงที่สามสำหรับการคูณและtเป็นวงที่สี่สำหรับความอดทน แต่ละxyztตัวแทนจดหมายที่ย่อสีของวงดนตรี: K = Black N = Brown R = Red O = Orange Y = Yellow G = Green B = Blue V = Violet A = Gray W = White g = Gold s = Silver _ = None ยกตัวอย่างเช่นNKOgตัวต้านทานบางตัว สามารถคำนวณความต้านทานด้วยความช่วยเหลือของตารางนี้: ตามตารางแนะนำ: …

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

30
The Pedant's Cosine
เจ้านายของฉันเพิ่งบอกให้ฉันเขียนฟังก์ชันโคไซน์ เป็นคนที่มีความสามารถทางคณิตศาสตร์ที่ดีจิตใจของฉันคิดในแบบที่เหมาะสมกับซีรีย์เทย์เลอร์ทันที cos(x) = 1 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ... + (-1)^k x^(2k) / (2k)! + ... อย่างไรก็ตามเจ้านายของฉันจู้จี้จุกจิกมาก เขาต้องการที่จะสามารถระบุจำนวนเทย์เลอร์ในการคำนวณได้อย่างแม่นยำ คุณช่วยฉันเขียนฟังก์ชันนี้ได้ไหม งานของคุณ รับค่า floating point xจาก0ถึง2 piและจำนวนเต็มบวกnน้อยกว่า100คำนวณผลรวมของnเทอมแรกของอนุกรมเทย์เลอร์ที่กำหนดไว้ด้านบนสำหรับcos(x)แง่ของซีรีส์เทย์เลอร์กล่าวข้างต้นสำหรับ นี่คือ รหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ สามารถนำเข้าและส่งออกได้หลายวิธี ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม หมายเหตุ สามารถป้อนข้อมูลในรูปแบบที่เหมาะสมใด ๆ ตราบใดที่มีการแยกชัดเจนระหว่าง xและnและ อินพุตและเอาต์พุตควรเป็นค่าจุดลอยตัวอย่างน้อยความแม่นยำเท่ากับการคำนวณสูตรโดยใช้ตัวเลขทศนิยมลอยตัว IEEE ที่มีความแม่นยำเดียวพร้อมกับกฎการปัดเศษมาตรฐานบางอย่าง หากเหมาะสมกับภาษาที่ใช้การคำนวณอาจทำได้โดยใช้ปริมาณที่แน่นอน …

20
ลำดับของ Stewie: + * - / + * - /
มาใช้การดำเนินการพื้นฐานสี่อย่างบวกการ+เพิ่มการ*ลบ-และการหาร/(float ไม่ใช่จำนวนเต็ม) ลำดับของ Stewieถูกกำหนดดังนี้: x = [x(1), x(2)] // Two initial numbers (one indexed) x(3) = x(1) + x(2) x(4) = x(2) * x(3) x(5) = x(3) - x(4) x(6) = x(4) / x(5) x(7) = x(5) + x(6) ... and so on. ท้าทาย: รับจำนวนเต็มสองจำนวนที่ไม่เป็นลบ ( x(1), x(2)) และจำนวนเต็มบวกหนึ่งค่าNเป็นอินพุต x(1)และx(2)จะเป็นตัวเลขสองตัวแรกของลำดับของคุณและNจะเป็นความยาวของลำดับที่คุณต้องส่งออก …

30
ความท้าทายนี้ใช้อักขระ '+'
งานของคุณ: ให้ตัวเลขnสร้างเครื่องหมาย '+' ที่มีnตัวละครอยู่ห่างจากศูนย์กลาง หากสิ่งนี้ทำให้เกิดความสับสนให้ตรวจสอบกรณีทดสอบ วิธีการอินพุตมาตรฐาน: เอาต์พุตจะต้องเป็นสตริงหรือพิมพ์ ช่องโหว่มาตรฐานใช้ Input: 1 Output: + ] 1 away from center `+`. Input: 2 Output: + ] 2 away from center `+`. +++ ] 1 away from center `+`. + Input: 3 Output: + ] 3 away from center `+`. + +++++ + + …

4
ย้ายลูกศรไปตามรูปร่าง
sandboxed รับชุดของปิดไม่ทับซ้อนกันรูปทรง 2d (คั่นด้วยช่องว่างอย่างน้อยหนึ่งแม้กระทั่งบนเส้นทแยงมุม) ที่มีลูกศรที่มุ่งเน้นต่อเนื่องในเดียวกันตามเข็มนาฬิกาหรือทวนเข็มนาฬิกาทิศทาง (แต่ละรูปร่างมีทิศทางของตัวเอง) และจำนวนบวกnย้ายลูกศรnทำตามขั้นตอนตามทิศทางที่กำหนด ลูกศรจะแสดง> v < ^ตามลำดับสำหรับทิศทางขวาลงซ้ายและขึ้น มีตัวละครอื่น ๆ-(แนวนอน), |(แนวตั้ง) และ+(มุม) เมื่อลูกศรอยู่ที่มุมหนึ่งมันจะรักษาทิศทางปัจจุบันและเปลี่ยนเฉพาะหลังจากเลี้ยว จะมีส่วนที่เป็นเส้นตรง (หรือช่องว่าง) ระหว่างสองมุมใด ๆ (เช่น+-+แนวนอนและแนวตั้งที่คล้ายกัน) - กล่าวอีกนัยหนึ่งUคือห้ามการเลี้ยวที่คมชัด ส่วนระหว่างมุมทั้งแนวตั้งหรือแนวนอนและโค้งที่มุมอยู่เสมอ 90 องศา การป้อนข้อมูล: จำนวนเต็มบวก - n- จำนวนขั้นตอน การเป็นตัวแทน ASCII ของรูปทรง - มันอาจเป็นสตริงหลายรายการของสตริงรายการของตัวละครและอื่น ๆ เอาท์พุท: รูปทรงเดียวกันกับลูกศรทั้งหมดเปลี่ยนnขั้นตอนในทิศทางโดยรวมของแต่ละเส้น กรณีทดสอบ: 1 การป้อนข้อมูล: n = 1 +----->-> | | | v---+ …

23
เคล็ดลับเลขฐานสอง
ความท้าทายนั้นง่าย เอาท์พุทอาร์เรย์จำนวนเต็มสองมิติหกมิติต่อไปนี้: [[ 1, 11, 21, 31, 41, 51], [ 3, 13, 23, 33, 43, 53], [ 5, 15, 25, 35, 45, 55], [ 7, 17, 27, 37, 47, 57], [ 9, 19, 29, 39, 49, 59]] [[ 2, 11, 22, 31, 42, 51], [ 3, 14, 23, 34, 43, …

14
การตรวจสอบบิตดั้งเดิม
เขียนโปรแกรม / ฟังก์ชั่นที่รับจำนวนเต็มสองจำนวนในช่วง000ถึง255255255และส่งคืนว่ารูปแบบไบนารีของตัวเลขนั้นแตกต่างกันเพียงหนึ่งบิตหรือไม่ ตัวอย่างเช่น111และ000มีรูปแบบไบนารี00000001และ00000000ซึ่งอยู่ห่างกันหนึ่งบิต ในทำนองเดียวกัน152152152และ242424คือ010011000และ000011000ดังนั้นพวกเขาจึงกลับมาจริง อย่างไรก็ตามรหัสของคุณต้องเก่าแก่เช่นถ้าหนึ่งบิตในโปรแกรมของคุณพลิกมันควรจะเกิดข้อผิดพลาด ตัวอย่างเช่นหากโปรแกรมของคุณเป็นไบต์เดียวa(01100001) ดังนั้น 8 โปรแกรมที่ปรับเปลี่ยนได้ทั้งหมด: á ! A q i e c ` จะต้องโยนข้อผิดพลาด ตรวจสอบให้แน่ใจว่าคุณกำลังแก้ไขด้วยไบต์ (เช่นด้านáบนนั่นหมายถึงไบต์225225225ไม่ใช่อักขระสองไบต์จริงá) กรณีทดสอบ: 0,1 => Truthy 1,0 => Truthy 152,24 => Truthy 10,10 => Falsey 10,11 => Truthy 11,12 => Falsey 255,0 => Falsey กฎ: จัดเตรียมเฟรมเวิร์กการทดสอบที่สามารถตรวจสอบว่าโปรแกรมของคุณนั้นมีความถูกต้องอย่างแท้จริงเนื่องจากจะมีโปรแกรมที่เป็นไปได้จำนวนมาก (จำนวนไบต์ * 8) หรือการพิสูจน์ความสมบูรณ์แบบอื่น ๆ …

18
Hardcoding the Cops and Robbers (Cops)
นี่เป็นความท้าทายของตำรวจและโจร ด้ายโจรเป็นที่นี่ คำถามที่น่าสนใจที่ต้องคำนึงถึงมีดังนี้: หากฉันมีลำดับตัวเลขฉันต้องระบุจำนวนเท่าไรก่อนที่จะชัดเจนว่าฉันกำลังพูดถึงลำดับใด ตัวอย่างเช่นถ้าฉันต้องการพูดคุยเกี่ยวกับจำนวนเต็มบวกตามลำดับเริ่มต้นที่ฉันสามารถพูดได้แต่นั่นก็เพียงพอแล้วจริงหรือ1 , 2 , 3 , ...1111 , 2 , 3 , ...1,2,3,…1,2,3, \dots ฉันมีวิธีหนึ่งในการตอบคำถามนี้และการเป็นนักกอล์ฟที่เกี่ยวข้องกับ code-golf คุณได้ให้เงื่อนไขของลำดับที่เพียงพอหากรหัสที่สั้นที่สุดที่สร้างคำเหล่านั้นสร้างเงื่อนไขทั้งหมดของลำดับ ถ้าเราคิดถึงเรื่องนี้ในเรื่องของ code-golf นี่ก็หมายความว่าคุณได้เตรียมเคสทดสอบไว้เพียงพอแล้วว่ารหัสสั้นที่สุดที่ผ่านการทดสอบจะเป็นงานที่ต้องการ ท้าทาย ความท้าทายนี้เป็นตำรวจและโจรท้าทาย ในกรณีที่ตำรวจจะนำเสนอกรณีทดสอบและโจรจะต้องหาวิธีที่สั้นกว่าในการหลอกกรณีทดสอบอื่น ๆ นอกเหนือจากลำดับที่ตั้งใจไว้ ตำรวจจะนำเสนอสิ่งต่อไปนี้: ชิ้นส่วนของรหัสที่ใช้จำนวนเต็มไม่เป็นลบเป็นอินพุตและสร้างจำนวนเต็มเป็นผลลัพธ์ รหัสนี้จะกำหนดลำดับของคุณ รหัสของคุณไม่จำเป็นต้องรองรับ 0 เป็นอินพุตโดยเลือกใช้ 1 เป็นอินพุตที่เล็กที่สุดแทน ควรชัดเจนว่าเป็นกรณีนี้ในคำตอบของคุณ ข้อกำหนดแพลตฟอร์มหรือภาษาที่เกี่ยวข้องใด ๆ ที่อาจมีผลต่อเอาต์พุตตัวอย่างเช่นขนาดของ longint จำนวนพร้อมกับครั้งแรกแง่ของการลำดับตามที่คำนวณได้จากรหัส สิ่งเหล่านี้จะทำหน้าที่เป็น "กรณีทดสอบ"nnnnnnn คุณได้รับการสนับสนุนให้อธิบายสิ่งที่ลำดับของคุณทำและเชื่อมโยง OEIS หากมีอยู่อย่างไรก็ตามเป็นรหัสของคุณที่กำหนดลำดับไม่ใช่คำอธิบาย โจรจะค้นหาโปรแกรมในภาษาเดียวกันที่สั้นกว่าที่นำเสนอและผ่านกรณีทดสอบทั้งหมด (สร้างเอาต์พุตเดียวกันสำหรับอินพุตแรกเป็นรหัสของตำรวจ) …

8
ค้นหาจำนวนของคนที่จะได้รับหมายเลขโดยใช้ + และ *
บทนำ เป้าหมายของคุณคือการหาจำนวนน้อยที่สุดของคนที่คุณจะต้องเพิ่มหรือคูณกันเพื่อให้ได้ค่าการป้อนข้อมูลนี้เป็นA005245 อินพุต หนึ่งจำนวนเต็มบวกN เอาท์พุต จำนวนที่น้อยที่สุดของคนที่จะต้องเพิ่ม / คูณจะได้รับN ตัวอย่างอินพุต 7 ตัวอย่างผลลัพธ์ 6 คำอธิบาย ( 1+ 1+ 1) * ( 1+ 1) + 1= 7 เพราะสิ่งนี้ต้องการ6สิ่งที่ต้องการผลลัพธ์คือ6 กรณีทดสอบ 1 1 2 2 3 3 5 5 10 7 20 9 50 12 นี่เป็นความท้าทายของนักกอล์ฟที่มีจำนวนไบต์น้อยที่สุด

29
หลายที่พบมากที่สุด
เพื่อไม่ให้สับสนกับตัวคูณร่วมน้อย รับรายการของจำนวนเต็มบวกที่มีมากกว่าหนึ่งองค์ประกอบส่งคืนผลิตภัณฑ์ที่พบมากที่สุดของสององค์ประกอบในอาร์เรย์ ตัวอย่างเช่น MCM ของรายการ[2,3,4,5,6]คือ12ตามตารางผลิตภัณฑ์คือ: 2 3 4 5 6 --------------- 2 | # 6 8 10 12 3 | # # 12 15 18 4 | # # # 20 24 5 | # # # # 30 6 | # # # # # ขอบคุณ DJMcMayhem สำหรับโต๊ะ ตามที่12ปรากฏครั้งมากที่สุด …

12
ตัวตรวจสอบกล่องจดหมาย
The New York Times มีเกมออนไลน์รายวันที่เรียกว่าLetter Boxed (ลิงก์อยู่ด้านหลัง paywall; เกมนี้ยังอธิบายไว้ที่นี่ ) นำเสนอบนตารางดังนี้: คุณจะได้รับ 4 กลุ่ม 3 ตัวอักษร (แต่ละกลุ่มสอดคล้องกับด้านใดด้านหนึ่งของภาพ); ไม่มีตัวอักษรปรากฏขึ้นสองครั้ง เป้าหมายของเกมคือการหาคำที่ประกอบด้วย 12 ตัวอักษร (และตัวอักษรเหล่านั้นเท่านั้น) เช่น: แต่ละคำมีความยาวอย่างน้อย 3 ตัวอักษร ตัวอักษรที่ต่อเนื่องกันไม่สามารถมาจากด้านเดียวกัน; อักษรตัวสุดท้ายของคำกลายเป็นตัวอักษรตัวแรกของคำต่อไป มีการใช้ตัวอักษรทั้งหมดอย่างน้อยหนึ่งครั้ง (สามารถนำตัวอักษรมาใช้ซ้ำได้) ในการท้าทายนี้คุณจะได้รับตัวอักษรและรายการคำศัพท์ เป้าหมายคือการตรวจสอบว่ารายการคำเป็นวิธีการแก้ปัญหากล่องจดหมายที่ถูกต้อง อินพุต ข้อมูลที่ป้อนประกอบด้วย (1) 4 กลุ่ม 3 ตัวอักษรและ (2) รายการคำ สามารถอยู่ในรูปแบบที่เหมาะสม เอาท์พุต ค่าความจริงหากรายการของคำเป็นวิธีการแก้ปัญหาที่ถูกต้องสำหรับความท้าทายตัวอักษรชนิดบรรจุกล่องสำหรับจดหมาย 4 × 3 ตัวและค่าความผิดพลาดเป็นอย่างอื่น กรณีทดสอบ กลุ่มตัวอักษร …

12
𝗠𝗮𝘁𝗵𝖲𝖺𝗇𝗌𝗔𝗹𝘁𝗲𝗿𝗻𝗮𝘁𝗼𝗿
บทนำ ลองแปลงคำเป็นแบบอักษรยูนิโค้ดสองแบบ ท้าทาย งานของคุณคือแปลงสตริงอินพุตของคุณให้เป็นอักขระ ic 𝖲𝖺𝗇𝗌และ𝗠𝗮𝘁𝗵𝗦𝗮𝗻𝘀𝗕𝗼𝗹𝗱 unicode คำที่เป็นตัวพิมพ์ใหญ่ทั้งหมดควรเป็นตัวพิมพ์เล็ก𝗕𝗼𝗹𝗱𝗦𝗮𝗻𝘀𝗕𝗼𝗹𝗱คำ ตัวอย่างเช่น: WORD->𝘄𝗼𝗿𝗱 คำตัวพิมพ์เล็กทั้งหมดควรเป็นคำ𝖬𝖺𝗍𝗁𝖲𝖺𝗇𝗌 ตัวอย่างเช่น: other words->𝗈𝗍𝗁𝖾𝗋 𝗐𝗈𝗋𝖽𝗌 คำที่เป็นตัวพิมพ์ใหญ่ทั้งหมดควรไม่เปลี่ยนแปลง ตัวอย่างเช่น: Mixed Case Words->Mixed Case Words ระยะเวลาและช่องว่างควรไม่เปลี่ยนแปลง คำถูกคั่นด้วยช่องว่างหรือจุด ตัวอย่างเช่น (สิ่งที่ไฮไลต์คือคำ): Hello. This is a word. S. O.are these อินพุต: สตริงที่มีตัวอักษรช่องว่างและจุด ( [A-Za-z .]+) เอาท์พุท: สตริงที่จัดรูปแบบ เนื่องจากนี่เป็นความท้าทายในการเล่นกอล์ฟจำนวนไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ ตัวอย่างอินพุตและเอาต์พุต การป้อนข้อมูล: นี่คือตัวอย่าง STRING ที่สามารถป้อนได้ สามารถมีได้หลายประโยค เอาท์พุท: 𝗂𝗌𝖺𝗇𝖾𝗑𝖺𝗆𝗉𝗅𝖾𝘀𝘁𝗿𝗶𝗻𝗴𝗍𝗁𝖺𝗍𝖼.𝗈.𝘂.𝗹.𝖽นี้ …

19
หมุนคอลัมน์
กำหนดจำนวนเต็มkและบล็อกข้อความหรืออาร์เรย์ 2d ที่อาร์เรย์ภายในอาจมีความยาวไม่เท่ากัน (ซึ่งคล้ายกับบล็อกข้อความ) หมุนทุกตัวอักขระหรือองค์ประกอบในคอลัมน์k -th ขึ้นหรือลงไปยังตำแหน่งถัดไป ที่มีอยู่ ตัวอย่าง หมุนคอลัมน์ที่ 20 ของข้อความต่อไปนี้ (แบบ 1): A line with more than k characters. A longer line with more than k character. A short line. Rotate here: ------v-- This is long enough. This is not enough. Wrapping around to the first line. เอาท์พุท: …

26
โซลูชันพื้นฐานของสมการเพลล์
รับจำนวนเต็มบวกnnnที่ไม่ใช่จตุรัสหาวิธีแก้ปัญหาพื้นฐาน(x,y)(x,y)(x,y)ของสมการเพลล์ที่เกี่ยวข้อง x2−n⋅y2=1x2−n⋅y2=1x^2 - n\cdot y^2 = 1 รายละเอียด พื้นฐาน(x,y)(x,y)(x,y)คือคู่ของจำนวนเต็มx,yx,yx,yทำให้สมการสมการที่xxxน้อยที่สุดและเป็นบวก (มีวิธีแก้ปัญหาเล็กน้อยอยู่เสมอ(x,y)=(1,0)(x,y)=(1,0)(x,y)=(1,0)ซึ่งไม่นับ) คุณสามารถสันนิษฐานได้ว่าnnnไม่ใช่จตุรัส ตัวอย่าง n x y 1 - - 2 3 2 3 2 1 4 - - 5 9 4 6 5 2 7 8 3 8 3 1 9 - - 10 19 6 11 10 3 12 7 …

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