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

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

19
ทำให้โปรแกรมสามเหลี่ยมเป็นสิ่งที่ถูกต้อง
Triangularityเป็น esolang ใหม่ที่พัฒนาโดยMr. Xcoderโดยที่โครงสร้างของโค้ดต้องเป็นไปตามรูปแบบที่เฉพาะเจาะจงมาก: สำหรับnบรรทัดที่รหัสจะต้องมี2n-1ตัวอักษรของโปรแกรมอย่างแน่นอน สิ่งนี้ทำให้เกิดรูปสามเหลี่ยม / ปิรามิดโดยที่บรรทัดแรกมีอักขระเพียงตัวเดียวและส่วนที่เหลือเพิ่มขึ้นทีละ 2 แต่ละบรรทัดจะต้องมีการบุด้วย.s ที่ด้านซ้ายและขวาเช่นตัวละครที่มีศูนย์กลางอยู่ที่เส้นของพวกเขาและทุกบรรทัดจะมีความยาวเบาะเดียวกัน หากlกำหนดเป็นจำนวนบรรทัดในโปรแกรมแต่ละบรรทัดในโปรแกรมต้องมีความยาว2 * l - 1 ตัวอย่างเช่นโปรแกรมทางด้านซ้ายนั้นถูกต้อง แต่โปรแกรมทางด้านขวาไม่ใช่: Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS เมื่อวางในโครงสร้างที่ถูกต้องชื่อจะชัดเจน งาน งานของคุณคือการใช้สตริงบรรทัดเดียวเป็นอินพุตแทนรหัสสามเหลี่ยมและเอาท์พุทมันแปลงเป็นรหัสที่ถูกต้องตามที่อธิบายไว้ข้างต้น ข้อมูลจำเพาะสำหรับ I / O: ข้อมูลที่ป้อนจะมีอักขระอยู่ในช่วงเท่านั้น 0x20 - 0x7e ความยาวของอินพุตจะเป็นตัวเลขจตุรัสเสมอ คุณต้องใช้จุดสำหรับการขยายช่องว่างไม่ใช่อย่างอื่น คุณสามารถอินพุตและเอาต์พุตด้วยวิธีการที่ยอมรับได้ นี่คือรหัสกอล์ฟเพื่อให้โค้ดที่สั้นที่สุดเป็นไบต์ชนะ! กรณีทดสอบ …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

21
ตัวนับไบต์ซ้ำ
งานของคุณคือการเขียนโปรแกรมที่ไม่ว่างเปล่า / ฟังก์ชั่นของการนับไบต์Lซึ่งเมื่อทำซ้ำMครั้งการตรวจสอบไม่ว่าจะเป็นในเชิงบวกให้จำนวนเต็มNเท่ากับL × M ในทางทฤษฎีคุณควรสนับสนุนจำนวนการทำซ้ำโดยพลการ (ค่าจำนวนเต็มบวกโดยพลการของM ) แต่ก็ดีถ้าเนื่องจากข้อ จำกัด ทางภาษามันไม่สามารถทำงานผ่านเกณฑ์ที่กำหนด การอ่านรหัสที่มาของโปรแกรมของคุณหรือการเข้าถึงข้อมูลเกี่ยวกับมันเป็นสิ่งต้องห้ามอย่างเคร่งครัด สำหรับการให้เอาต์พุตคุณควรเลือกค่าที่สอดคล้องกันสำหรับสถานะใดสถานะหนึ่ง (ไม่ว่าจะเป็นความจริงหรือเท็จ) และใช้เอาต์พุตอื่น ๆ ที่เป็นไปได้ (ไม่จำเป็นต้องสอดคล้องกัน) สำหรับสถานะอื่น ( การสนทนา ) คำตอบของคุณจะได้รับคะแนนตามความยาวของโปรแกรมเริ่มต้นของคุณL (เป็นไบต์) โดยที่ไบต์น้อยกว่าจะดีขึ้น ตัวอย่าง สมมติว่า (เริ่มต้น) ABCDEโปรแกรมของคุณ แล้ว: ABCDE(1 ซ้ำ) ควรตรวจสอบถ้าใส่เท่ากับ5 ABCDEABCDE(2 ซ้ำ) ควรตรวจสอบถ้าใส่เท่ากับ10 ABCDEABCDEABCDE(3 ซ้ำ) ควรตรวจสอบถ้าใส่เท่ากับ15 ฯลฯ ... คะแนนของโค้ดตัวอย่างนี้จะเป็น5เนื่องจากแหล่งเริ่มต้นมีความยาว 5 ไบต์

13
ตรวจสอบว่าองค์ประกอบที่ไม่เป็นศูนย์ทั้งหมดในเมทริกซ์เชื่อมต่อกันหรือไม่
การป้อนข้อมูล: เมทริกซ์ที่มีจำนวนเต็มในช่วง[0-9] ท้าทาย: ตรวจสอบว่าองค์ประกอบที่ไม่ใช่ศูนย์ทั้งหมดเชื่อมต่อกันในแนวตั้งและ / หรือแนวนอน เอาท์พุท: ค่า truthyถ้าทั้งหมดที่มีการเชื่อมต่อและค่า falsyถ้ามีไม่ใช่ศูนย์องค์ประกอบ / กลุ่มที่ไม่ได้เชื่อมต่อกับองค์ประกอบอื่น ๆ / กลุ่ม กรณีทดสอบ: กรณีทดสอบถูกคั่นด้วยบรรทัด กรณีทดสอบสามารถพบได้ในรูปแบบที่สะดวกกว่าได้ที่นี่ ( Kudos ถึง Dada ) ต่อไปนี้เป็นสิ่งที่เชื่อมต่อกันและควรจะคืนค่าความจริง: 0 --- 0 0 --- 1 1 1 0 0 0 --- 1 0 0 1 1 1 0 0 1 --- 0 0 0 0 …

7
เอ่อมันเป็นไฮกุหรือเปล่า?
ดังนั้นคุณต้องการสร้างไฮกุ แต่คุณไม่แน่ใจว่าเป็นไปตามกฎของพยางค์สำหรับไฮกุหรือไม่ ฉันไม่อยากจะเขียนสิ่งที่ไม่เหมาะสมเหมือนปกติดังนั้นคุณต้องทำสิ่งนี้ มาติดอยู่ที่นั่น ค้นหาไฮกุออกมาในป่า สำหรับจุดประสงค์ของการท้าทายนี้เราจะทำการตรวจสอบว่าบทกวีที่กำหนดตรงตามเกณฑ์เหล่านี้หรือไม่: มีสามบรรทัด บรรทัดแรกมี 5 พยางค์ บรรทัดที่สองมี 7 พยางค์ บรรทัดที่สามมี 5 พยางค์ แต่ละบรรทัดประกอบด้วยคำอย่างน้อยหนึ่งคำคั่นด้วยกลุ่มของช่องว่าง คำเหล่านี้ไม่จำเป็นต้องเป็นคำภาษาอังกฤษที่ถูกต้อง แต่ละคำจะถูกแบ่งออกเป็นพยางค์และจากนั้นจะนับพยางค์เหล่านั้นเพื่อนับจำนวนพยางค์ทั้งหมดของบรรทัด พยางค์มี 2 หรือ 3 ส่วน: จุดเริ่มต้นจุดสิ้นสุดและอาจอยู่ตรงกลาง แต่ละส่วนจะมีทั้งกลุ่มของ consonsants (ยังเป็นที่รู้จักพยัญชนะกลุ่มเช่นs, skหรือspl) หรือกลุ่มของสระ (เช่นi, eaหรือoui) หากจุดเริ่มต้นเป็นกลุ่มของพยัญชนะตรงกลางจะเป็นกลุ่มของเสียงสระและท้ายที่สุดจะเป็นกลุ่มของพยัญชนะ หากการเริ่มต้นเป็นกลุ่มของเสียงสระปลายจะเป็นกลุ่มของพยัญชนะและจะไม่มีตรงกลาง ยกตัวอย่างเช่นคำว่าexampleถูกสร้างขึ้นจากสามพยางค์ex, และam ไม่สิ้นสุดในขณะที่มันถูกตัดสั้นในตอนท้ายของคำpleple เป็นอีกหนึ่งตัวอย่างคำว่าsyllableยังมีสามพยางค์syll, ablและeซึ่งยังไม่เคยมีใครตอนจบ สำหรับตัวอย่างสุดท้ายหนึ่งคำwordมีหนึ่งพยางค์wordซึ่งลงท้ายด้วยกลุ่มพยัญชนะ ความท้าทาย รับสตริง, รายการของสตริง, รายการของรายการหรือรูปแบบที่เหมาะสมอื่น ๆที่เป็นตัวแทนของบทกวีที่มีอย่างน้อยหนึ่งบรรทัดพิจารณาว่ามันเป็นไปตามเกณฑ์ของไฮกุที่ระบุไว้ข้างต้นและส่งกลับผล คุณสามารถส่งคืนผลลัพธ์ในรูปแบบใด ๆ ต่อไปนี้: คุณค่าความจริงหากบทกวีเป็นไฮกุและเป็นเท็จอย่างอื่น ค่าเท็จถ้าบทกวีเป็นไฮกุและเป็นความจริงอย่างอื่น …

14
มันเป็นการสลับเพลงหรือไม่?
เมื่อวานนี้ฉันถามคำถามนี้เกี่ยวกับ ruffle shuffles ดูเหมือนว่าคำถามเมื่อวานนี้ยากไปหน่อยดังนั้นคำถามนี้เป็นงานที่เกี่ยวข้อง แต่ง่ายกว่ามาก วันนี้คุณจะถูกถามเพื่อตรวจสอบว่าการเปลี่ยนแปลงในความเป็นจริงสับเปลี่ยน riffle คำจำกัดความของการสลับแบบ riffle ของเราถูกดัดแปลงจากคำถามสุดท้ายของเรา: ส่วนแรกของการสุ่มคือการแบ่ง ในพาร์ทิชันแบ่งไพ่ในสอง ส่วนย่อยทั้งสองจะต้องต่อเนื่องเป็นเอกสิทธิ์เฉพาะบุคคลและครบถ้วนสมบูรณ์ ในโลกแห่งความเป็นจริงต้องการทำให้พาร์ติชันของคุณใกล้เคียงที่สุดเท่าที่จะเป็นไปได้อย่างไรก็ตามในความท้าทายนี้ไม่ใช่การพิจารณาพาร์ติชั่นทั้งหมดรวมถึงพาร์ติชั่นที่เสื่อมโทรม หลังจากที่พวกเขาได้รับการแบ่งพาร์ติชันบัตรจะได้แต่งงานกันในลักษณะดังกล่าวว่าบัตรรักษาลำดับญาติของพวกเขาภายในพาร์ทิชันที่พวกเขาเป็นสมาชิกของ ตัวอย่างเช่นหากการ์ดAอยู่ก่อนการ์ดBในสำรับและการ์ดAและBอยู่ในพาร์ทิชันเดียวกันการ์ดAต้องอยู่ก่อนการ์ดBในผลลัพธ์สุดท้ายแม้ว่าจำนวนการ์ดระหว่างการ์ดจะเพิ่มขึ้น หากAและBอยู่ในพาร์ติชั่นต่างกันพวกเขาสามารถอยู่ในลำดับใดก็ได้โดยไม่คำนึงถึงลำดับเริ่มต้นในผลลัพธ์สุดท้าย การสลับแบบสุ่มแต่ละอันนั้นสามารถถูกมองว่าเป็นการเปลี่ยนแปลงไพ่สำรับดั้งเดิม ตัวอย่างเช่นการเปลี่ยนแปลง 1,2,3 -> 1,3,2 เป็นการสลับแบบ riffle ถ้าคุณแยกดาดฟ้าเช่นนั้น 1, 2 | 3 เราเห็นว่าการ์ดทุกใบใน1,3,2นั้นมีลำดับที่เหมือนกันกับการ์ดอื่น ๆ ในพาร์ติชั่น ยังคงเป็นหลังจากที่21 ในทางกลับกันการเรียงสับเปลี่ยนต่อไปนี้ไม่ใช่การสลับแบบ riffle 1,2,3 -> 3,2,1 เราสามารถเห็นสิ่งนี้ได้เพราะพาร์ติชั่นทั้งสอง (ไม่สำคัญ) 1, 2 | 3 1 | 2, 3 มีคู่ของการ์ดที่ไม่รักษาลำดับญาติของพวกเขา ในพาร์ติชันแรก1และ2เปลี่ยนลำดับของพวกเขาในขณะที่พาร์ติชันที่สอง2และ3เปลี่ยนลำดับของพวกเขา …

17
ค้นหารากที่สมบูรณ์ของ A พหุนาม
ท้าทาย ความท้าทายคือการเขียนโปรแกรมที่ใช้ค่าสัมประสิทธิ์ของสมการพหุนามแบบ n-degree ใด ๆ เป็นอินพุตและส่งกลับค่าอินทิกรัลของ x ซึ่งสมการนั้นเป็นจริง ค่าสัมประสิทธิ์จะได้รับเป็นอินพุตตามลำดับของการลดหรือเพิ่มพลังงาน คุณสามารถสันนิษฐานได้ว่าค่าสัมประสิทธิ์ทั้งหมดจะเป็นจำนวนเต็ม อินพุทและเอาท์พุท อินพุตจะเป็นค่าสัมประสิทธิ์ของสมการในการลดหรือเพิ่มลำดับพลังงาน ระดับของสมการคือพลังงานสูงสุดของ x จะน้อยกว่าจำนวนทั้งหมดขององค์ประกอบในอินพุต 1 เสมอ ตัวอย่างเช่น: [1,2,3,4,5] -> represents x^4 + 2x^3 + 3x^2 + 4x + 5 = 0 (degree = 4, as there are 5 elements) [4,0,0,3] -> represents 4x^3 + 3 = 0 (degree = …

29
ตำรวจและโจร: Redacted Primality (ด้ายของตำรวจ)
ความท้าทายนี้เดิมทีถูกสร้างโดย sandboxed Magic Octopus Urn; ฉันรับรองและโพสต์ด้วยการอนุญาตของเขา นี่คือด้ายของตำรวจ ด้ายโจรเป็นที่นี่ ความท้าทาย ขั้นตอนที่หนึ่ง:เขียนชิ้นส่วนของรหัส (ฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ) ซึ่งตรวจสอบการทำงาน ขั้นตอนที่สอง:█ชิ้นลบของรหัสของคุณโดยการแทนที่ตัวอักษรที่มีสัญลักษณ์ ขั้นตอนที่สาม:โพสต์รหัส redacted บนด้ายตำรวจ ขั้นตอนที่สี่:รอให้รหัสของคุณถูกถอดรหัสและลองถอดรหัสรหัสของผู้อื่น ตัวอย่างเช่นรหัส Groovy อาจจะกลายเป็น{it.isPrime()} {██.is█████()}(อันนี้จะแตกง่ายอย่างโง่เขลา; ฉันรู้ว่า.isPrime()ไม่ใช่วิธี Groovy) เกณฑ์การให้คะแนน คุณต้องรวมคะแนนของโปรแกรมในการส่ง คะแนนถูกกำหนดให้เป็นอัตราส่วนของตัวละคร Redacted ต่อตัวละคร ดังนั้นหากโปรแกรมของคุณมี 20 ตัวอักษรและ 5 ถูก redacted คะแนนของคุณจะเป็น 0.25 รหัส Groovy ด้านบนจะมีคะแนน 0.5 กฎระเบียบ โปรแกรมของคุณต้องการจัดการจำนวนเต็มบวกเท่านั้น มันควรจะส่งออกค่าความจริงถ้าจำนวนนั้นเป็นนายกและค่าเท็จเป็นอย่างอื่น โปรดระบุคำตอบในสิ่งที่มันออกมา รหัสของคุณต้องไม่มีความคิดเห็นหรือช่องว่างที่ไม่จำเป็น ไม่มีการขัดจังหวะการแฮ็กหรือการเข้ารหัสลับ รหัสของคุณอาจไม่เกิน 50% ทำซ้ำ (อย่างน้อย …

30
การท้าทายการคูณวันที่
(แรงบันดาลใจจากRiddler ของสัปดาห์ที่แล้วเมื่อ FiveThirtyEight.com โพสต์ Sandbox ) ได้รับปีระหว่างปี 2001 ถึงปี 2099 ให้คำนวณและส่งกลับจำนวนวันในช่วงปีปฏิทินดังกล่าวโดยที่mm * dd = yy( yyเป็นปีที่2 หลัก ) เช่นปี 2018 มี 5: 18 มกราคม (1 * 18 = 18) 9 กุมภาพันธ์ (2 * 9 = 18) 6 มีนาคม (3 * 6 = 18) 3 มิถุนายน (6 * 3 = 18) …
19 code-golf  date 

1
ตัวอักษรโฟมอาบน้ำ
หากคุณมีเด็กเล็กอยู่ในบ้านคุณอาจเจอตัวอักษรอาบน้ำโฟม สิ่งเหล่านี้สามารถชุบน้ำหมาด ๆ และติดอยู่กับพื้นผิวที่เรียบเช่นกระเบื้องและด้านข้างของอ่างอาบน้ำเพื่อสร้างคำและข้อความ ช่วงของคำและข้อความที่ค่อนข้าง จำกัด ถ้าคุณมีเพียงหนึ่งชุด แต่เนื่องจากคุณจะได้รับ 36 ตัวอักษร: ตัวอักษรพิมพ์ใหญ่ AZ และตัวเลข ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890-9: อย่างไรก็ตามคุณสามารถใช้ไหวพริบและใช้ตัวอักษรและตัวเลขในทางที่ผิดเพื่อสร้างสำเนาของจดหมายอื่น: 3: E 1: I 7: L (when rotated) M: W (when rotated) 0: O 2: S (when flipped) 5: S W: M (when rotated) 2: Z 5: Z (when flipped) O: 0 6: 9 (when …

25
ผลรวมของคอลัมน์ที่ชาญฉลาดของส่วนที่ทับซ้อนกัน
งาน ได้รับรายชื่อของจำนวนเต็มLและอีกจำนวนเต็มsเป้าหมายคือการคำนวณผลรวมคอลัมน์ที่ชาญฉลาดของทุกsมีความยาว (อาจทับซ้อนกัน) ชิ้นของLในขณะที่เกี่ยวข้องกับตำแหน่งของพวกเขาเทียบกับL (ดูด้านล่าง) คำนิยาม sมีความยาว(ที่ทับซ้อนกัน) ชิ้นของรายการLคือประกาศ subsequences ต่อเนื่องกัน (โดยไม่ต้องห่อ) ของLที่มีความยาวs เพื่อให้ได้ตำแหน่งของชิ้นที่สัมพันธ์กับLคุณสามารถจินตนาการถึงการสร้าง "บันได" ซึ่งแต่ละชิ้นของiมีตำแหน่งออฟเซ็ตiจากจุดเริ่มต้น รายละเอียด sเป็นจำนวนเต็มสูงกว่า1อย่างเคร่งครัดและมีขนาดเล็กกว่าความยาวของL Lจะมีองค์ประกอบอย่างน้อย 3 องค์ประกอบเสมอ คุณสามารถแข่งขันในภาษาการเขียนโปรแกรมใด ๆและสามารถรับอินพุตและให้เอาต์พุตผ่านวิธีการมาตรฐานใด ๆในขณะที่รับทราบว่าช่องโหว่เหล่านี้ถูกห้ามโดยค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นการส่งสั้นที่สุด (เป็นไบต์) สำหรับทุกภาษาที่ชนะ ตัวอย่างและกรณีทดสอบ นี่คือตัวอย่างการทำงาน: [1, 2, 3, 4, 5, 6, 7, 8, 9], 3 [1, 2, 3] [2, 3, 4] [3, 4, 5] [4, 5, 6] …

23
สลับเดี่ยวของอาร์เรย์
แรงบันดาลใจจากที่นำมาจากคำถามที่กองล้น ความท้าทาย ได้รับจำนวนเต็มผลผลิตอาร์เรย์ทั้งหมดที่สามารถรับได้โดยการเปลี่ยนตรงสองรายการในอาร์เรย์n>1[1, 2, ..., n] สามารถผลิตอาร์เรย์ในลำดับใดก็ได้ คุณสามารถใช้[0, 1, ..., n-1](ตามพื้นฐาน 0) แทน[1, 2, ..., n](ตามพื้นฐาน 1) กฎเพิ่มเติม เข้าและส่งออกมีความยืดหยุ่นได้ตามปกติ โปรแกรมหรือฟังก์ชั่นที่ได้รับอนุญาตในการเขียนโปรแกรมภาษา ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ อินพุต2ให้เอาต์พุต (สมมติว่าเป็นฐาน 1) 2 1 อินพุต3ให้เอาต์พุต (โปรดสังเกตว่าสามอาร์เรย์สามารถอยู่ในลำดับใดก็ได้) 1 3 2 2 1 3 3 2 1 อินพุต4ให้เอาต์พุต 1 2 4 3 1 3 2 4 1 4 …

2
Bitor XOR ของจำนวนตรรกยะ
บทนำ จำนวนตรรกยะทุกจำนวนระหว่าง 0 ถึง 1 สามารถแสดงเป็นลำดับตามลำดับในที่สุดของบิต ตัวอย่างเช่นการแทนเลขฐานสองของ 11/40 คือ 0.010 0011 0011 0011 ... ที่0011เป็นส่วนหนึ่งซ้ำไปเรื่อย ๆ วิธีหนึ่งในการค้นหาการแสดงนี้คือต่อไปนี้ เริ่มต้นด้วยr = 11/40จากนั้นเพิ่มเป็นสองเท่าและใช้ส่วนที่เป็นเศษส่วนบันทึกเมื่อมันไปด้านบน 1 เมื่อค่าของrซ้ำคุณรู้ว่าคุณได้เข้าสู่ลูป 1. r = 11/40 2. 2*r = 11/20 < 1 -> next bit is 0, r = 11/20 3. 2*r = 11/10 >= 1 -> next bit is …

4
ชัดเจนวงเล็บรถไฟ APL
ใน APL คุณสามารถเขียนฟังก์ชั่นโดยปริยายเรียกว่ารถไฟ พวกเขาทำงานอย่างไรไม่เกี่ยวข้องกับความท้าทายนี้ นี่คือวิธีที่แตกต่างกันที่พวกเขาสามารถจัดกลุ่มโดยใช้⍴เป็นฟังก์ชั่น: ⍴ -> ⍴ ⍴⍴ -> ⍴⍴ ⍴⍴⍴ -> ⍴⍴⍴ ⍴⍴⍴⍴ -> ⍴(⍴⍴⍴) ⍴⍴⍴⍴⍴ -> ⍴⍴(⍴⍴⍴) ⍴⍴⍴⍴⍴⍴ -> ⍴(⍴⍴(⍴⍴⍴)) ... คำสั่งซื้อยังคงเหมือนเดิม ขั้นตอนคือตราบใดที่มีมากกว่า 3 ฟังก์ชั่นอย่างเข้มงวดฟังก์ชั่น 3 ครั้งสุดท้ายจะถูกจัดกลุ่มเป็นหนึ่งฟังก์ชั่น หากเราพบรถไฟซ้อนกันเราจะวงเล็บเป็นอันดับแรกก่อนดำเนินการต่อ นี่คือขั้นตอนที่ใช้กับ⍴⍴⍴⍴⍴⍴: Step 0: ⍴⍴⍴⍴⍴⍴ There are strictly more than 3 functions, repeat. Step 1: ⍴⍴⍴(⍴⍴⍴) There are strictly more …

9
อินทิกรัล จำกัด แน่นอนโดยใช้ผลบวกของ Riemann
ซ้ายและขวาเงินก้อน Riemannมีความใกล้เคียงเพื่อintegrals ชัดเจน แน่นอนว่าในวิชาคณิตศาสตร์เราต้องมีความแม่นยำมากดังนั้นเราจึงตั้งเป้าที่จะคำนวณพวกมันด้วยเขตการปกครองจำนวนมากที่เข้าใกล้อนันต์ แต่นั่นไม่จำเป็นสำหรับจุดประสงค์ของการท้าทายนี้ คุณควรลองเขียนโปรแกรมที่สั้นที่สุดแทนการป้อนข้อมูลและให้ผลลัพธ์ผ่านวิธีการเริ่มต้นใดๆ ในภาษาการเขียนโปรแกรมใด ๆซึ่งทำสิ่งต่อไปนี้: งาน รับจำนวนตรรกยะaaaและbbb (ข้อ จำกัด ของอินทิกรัล จำกัด ), จำนวนเต็มบวกnnn , boolean kkkแทนซ้าย / ขวาและฟังก์ชันกล่องดำ fff , คำนวณผลรวม Riemann ทางซ้ายหรือขวา (ขึ้นอยู่กับkkk ) ของ∫baf(x)dx∫abf(x)dx\int_a^b f(x)\mathrm{d}xใช้nnn เท่ากับเขตการปกครอง I / O Specs aaaและbbbสามารถเป็นจำนวนตรรกยะ / จำนวนทศนิยมหรือเศษส่วน kkkสามารถแสดงค่าที่แตกต่างและสอดคล้องกันได้สองค่า แต่โปรดจำไว้ว่าคุณไม่ได้รับอนุญาตให้ใช้ฟังก์ชั่นสมบูรณ์หรือบางส่วนเป็นอินพุต fffเป็นฟังก์ชั่นกล่องดำ อ้างถึงคำตอบที่เมตาเชื่อมโยงข้างต้นเนื้อหา (เช่นรหัส) ของกล่องดำฟังก์ชั่นอาจไม่สามารถเข้าถึงคุณสามารถเรียกพวกเขา (ข้อโต้แย้งผ่านถ้ามี) และสังเกตผลผลิตของพวกเขา หากจำเป็นโปรดระบุข้อมูลที่จำเป็นเกี่ยวกับไวยากรณ์ที่ภาษาของคุณใช้เช่นที่เราสามารถทดสอบการส่งของคุณ ในฐานะที่เป็นเอาท์พุทคุณจะต้องให้เหตุผล / จุดลอยตัว …

3
การเขียนจำนวนตรรกยะเป็นอัตราส่วนของแฟกทอเรียลของช่วงเวลา
หมายเหตุ: ความท้าทายนี้ได้รับการโพสต์บนกล่องเครื่องมือ บทนำ ความท้าทายนี้ได้รับแรงบันดาลใจมาจาก2009 Putnam B1ซึ่งเป็นปัญหาในการแข่งขันคณิตศาสตร์ระดับปริญญาตรี ปัญหาดังต่อไปนี้: แสดงให้เห็นว่าทุกจำนวนตรรกยะที่เป็นบวกสามารถเขียนได้เป็นผลหารของผลคูณของแฟกทอเรียลของช่วง (ไม่จำเป็นต้องชัดเจน) ตัวอย่างเช่น, ท้าทาย ความท้าทายของคุณคือการใช้จำนวนเต็มบวกจำนวนเต็มซึ่งเป็นตัวแทนตัวเศษและตัวหารของจำนวนตรรกยะที่เป็นบวก (หรือเพียงแค่จำนวนตรรกยะเอง) เป็นอินพุตและส่งออกสองรายการ (หรืออาร์เรย์ ฯลฯ ) ของจำนวนเฉพาะเพื่อให้ จำนวนตรรกยะที่ป้อนเข้านั้นเท่ากับอัตราส่วนของผลคูณของแฟกทอเรียลของจำนวนเฉพาะในรายการแรกกับผลคูณของแฟกทอเรียลของจำนวนเฉพาะในรายการที่สอง หมายเหตุ อาจไม่มีช่วงเวลาที่มีทั้งในรายการแรกและในรายการที่สอง อย่างไรก็ตามนายกอาจปรากฏหลายครั้งตามที่ปรารถนาในรายการใดรายการหนึ่ง อินพุตสามารถสันนิษฐานได้ว่าแต่ละค่า (ไม่ จำกัด ) ระหว่าง 1 ถึง 65535 อย่างไรก็ตามไม่สามารถสรุปได้ว่าแฟกทอเรียลของตัวเลขที่คุณจะต้องใช้ในการส่งออกจะอยู่ในช่วงนี้ ตัวอย่างอินพุตและเอาต์พุต นี่คือตัวอย่างของอินพุตและเอาต์พุตทางกฎหมาย input=>output 10,9 => [2,5],[3,3,3] 2,1 => [2],[] 3,1 => [3],[2] 1,5 => [2,3,2],[5] (elements of a list …

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