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

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

10
กำหนดที่นั่งของสายการบิน
แรงบันดาลใจจากบทเรียน APL ของสัปดาห์ที่แล้ว ให้แผนที่ที่นั่งแบบตัวพิมพ์ใหญ่ 2 มิติและรายชื่อลูกค้า 1D ส่งคืนแผนผังที่นั่งและรายชื่อลูกค้า แต่ได้แก้ไขดังต่อไปนี้ (เพื่อระบุที่นั่งว่างและลูกค้าที่นั่ง): สำหรับตัวอักษรที่ไม่ซ้ำกันแต่ละตัวในรายการผู้โดยสารขาเข้าให้พิมพ์เล็กลงที่ตัวอักษรจำนวนมาก (หรือทั้งหมดหากมีไม่เพียงพอ) ในแผนผังที่นั่งจะเรียงจากซ้ายไปขวาบนลงล่าง สำหรับตัวอักษรที่ไม่ซ้ำกันแต่ละตัวในแผนผังที่นั่งให้พิมพ์ตัวอักษรเล็ก ๆ (หรือทั้งหมดถ้ามีไม่เพียงพอ) ในรายชื่อผู้โดยสารโดยเรียงจากซ้ายไปขวา แผนที่การป้อนข้อมูลที่นั่งมีเพียงช่องว่างและตัวอักษรพิมพ์ใหญ่จากชุดที่ { F, B, P, E} และอาจจะเป็น: แยกออกเป็นแถวด้วยตัวแบ่งบรรทัด รายการของสตริง เมทริกซ์ของอักขระตัวพิมพ์ใหญ่ ในรูปแบบอื่นที่เทียบเท่า รายชื่อลูกค้าอินพุตมีเพียงตัวอักษรพิมพ์ใหญ่จากชุดที่ { F, B, P, E} และอาจจะเป็น: สตริง รายการของตัวละคร ในรูปแบบอื่นที่เทียบเท่า แผนผังที่นั่งกลับต้องเหมือนกับอินพุตหนึ่งยกเว้นว่าตัวอักษรศูนย์หรือมากกว่านั้นถูกพับเป็นตัวพิมพ์เล็ก รายชื่อลูกค้าที่ส่งคืนจะต้องเหมือนกันกับหนึ่งอินพุตยกเว้นว่ามีการพับตัวอักษรศูนย์หรือมากกว่านั้นเป็นตัวพิมพ์เล็ก อนุญาตช่องว่างนำหน้าและต่อท้าย ตัวอย่าง(ฉบับย่อของเครื่องบินของ United) ERJ145 อินพุตแผนที่ที่นั่ง: P E E PP E …

8
เครื่องเข้ารหัสบาร์โค้ดรหัส 39
เขียนฟังก์ชั่นหรือโปรแกรมที่เข้ารหัสสตริงลงในรหัส 39บาร์โค้ดรูปแบบที่อักขระแต่ละตัวถูกเข้ารหัสเป็นห้าแท่งคั่นด้วยช่องว่างสี่ช่อง ทั้งสองแท่งและหนึ่งในช่องว่างมีความกว้างและอื่น ๆ ที่แคบ (10 * 4 รหัส) หรือสามของช่องว่างที่มีความกว้างและไม่มีแถบใด (4 รหัส) สิ่งนี้จะให้รหัสที่แตกต่างกัน 44 รหัสซึ่งเป็นรหัสที่สงวนไว้ซึ่งใช้เพื่อแสดงถึงจุดเริ่มต้นและจุดสิ้นสุดของสตริงที่เข้ารหัส ความท้าทาย อินพุตเป็นสตริงที่มีอักขระจากชุดเท่านั้น 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-. +/$% เอาต์พุตคือสตริงที่เข้ารหัสเป็นสตริงบาร์โค้ด ช่องว่างแคบและช่องว่างระหว่างอักขระเป็นช่องว่างเดียวและช่องว่างกว้างคือช่องว่างสามช่อง แถบแคบคือลำดับ UTF-8 สำหรับอักขระ Unicode "Full block", █, 0xE2 0x96 0x88และแถบกว้างคือลำดับ / ตัวอักษรไบต์สามตัว ( ███) รายการรหัสทั้งหมดคือ: Spaces 0100 0010 0001 1000 1011 1101 1110 0111 Bars 00000 + / $ …
16 code-golf 

9
การสะท้อนสตริงอาเรย์ระดับกลาง
เริ่มจากการกำหนดภาพสะท้อนของตัวละครในอาเรย์แบบสองมิติอีกครั้ง: กำหนดอาเรย์ 2-d อาร์เรย์ของตัวอักษรที่มีตัวอักษรตัวพิมพ์เล็กที่แตกต่างกันกำหนดสะท้อนของตัวอักษรในเมทริกซ์เป็นการแลกเปลี่ยนกับตัวละครตรงข้ามจากมันผ่านใจกลางของสแควร์ ดังนั้นภาพสะท้อนของตัวอักษรcใน abcde fghij klmno pqrst uvwxy จะส่งผลให้การกำหนดค่า abwde fghij klmno pqrst uvcxy เพราะcและwมีการเปลี่ยน ตัวอย่างเพิ่มเติมบางส่วน (ที่มีการกำหนดค่าดั้งเดิมเหมือนด้านบน): สะท้อนให้เห็นถึงตัวละครeจะฟอร์ม abcdu fghij klmno pqrst evwxy สะท้อนถึงตัวละครที่mจะทำให้ abcde fghij klmno pqrst uvwxy สะท้อนให้เห็นถึงตัวละครbจะฟอร์ม axcde fghij klmno pqrst uvwby ความท้าทาย รับอาร์เรย์ 2 มิติของตัวอักษรที่มีตัวอักษรตัวพิมพ์เล็กที่แตกต่างกันไปผ่านตัวละครแต่ละตัวในสตริงที่กำหนดและ "สะท้อน" ในเมทริกซ์ การชี้แจง: ตัวอักษรในสตริงมาจากa-zตัวอักษรมีเอกลักษณ์และอาร์เรย์ต้องมีอย่างน้อย 1x1 และสูงสุด 5x5 (เห็นได้ชัดเนื่องจากมีเพียง 26 …
16 code-golf  string 

12
จำนวนที่ต้องการ
งาน รับ 2 จำนวนเต็มบวกnและkที่ไหนn > kส่งออกจำนวน surjections จากชุดของnองค์ประกอบที่แตกต่างเพื่อชุดของkองค์ประกอบที่แตกต่าง คำนิยาม ฟังก์ชั่น f: S → T ถูกเรียกว่า surjection ถ้าทุกๆt∈Tมีs∈Sซึ่ง f (s) = t ตัวอย่าง เมื่อใดn=3และk=2ผลลัพธ์คือ6เนื่องจากมี6surjections จาก{1,2,3}ถึง{1,2}: 1↦1, 2↦1, 3↦2 1↦1, 2↦2, 3↦1 1↦1, 2↦2, 3↦2 1↦2, 2↦1, 3↦1 1↦2, 2↦1, 3↦2 1↦2, 2↦2, 3↦1 Testcases n k output 5 3 150 8 …

12
ตั้งโปรแกรมโปรแกรมเรียกเลขหมายอัตโนมัติของฉัน
ย้อนกลับไปในวันนั้นผู้เรียกเลขหมายอัตโนมัติโทรศัพท์ใช้บัตร punched กับหนึ่งคอลัมน์สำหรับแต่ละหลักของหมายเลขที่จะโทรออก คอลัมน์มีเจ็ดแถว สามแถวแรกแสดงหมายเลข (1,2,3), (4,5,6) และ (7,8,9) ตามลำดับ สามแถวสุดท้ายหมุนการจัดเรียงนี้ 90 °: (1,4,7), (2,5,8) และ (3,6,9) แถวกลางใช้สำหรับ 0 หลักใด ๆ ที่ 1-9 จะมีการเจาะสองรู - หนึ่งในสามแถวแรกและหนึ่งในสามแถวด้านล่าง ศูนย์จะมีการเจาะแถวกลางเท่านั้น ลองจินตนาการถึงคอลัมน์ที่ถูกเจาะสำหรับหมายเลข 6 ( .ไม่ได้xถูกเจาะ, ถูกกด, คำแนะนำทางด้านซ้ายเป็นเพียงเพื่อแสดงการเข้ารหัส): 123 . 456 x 789 . 0 . 147 . 258 . 369 x เรามองหาแถวที่มีหมายเลขที่เราพยายามโทรออก สำหรับ 6 …

1
การเรียงสับเปลี่ยนเช่นไม่มี k + 2 คะแนนตกอยู่บนพหุนามขององศา k ใด ๆ
ลักษณะ ปล่อยให้การเปลี่ยนแปลงของจำนวนเต็ม{1, 2, ..., n}จะเรียกว่าinterpolable น้อยที่สุดถ้าไม่มีชุดของk+2จุด (ร่วมกับดัชนีของพวกเขา) kตกอยู่ในพหุนามของปริญญา นั่นคือ, ไม่มีจุดสองจุดตกบนเส้นแนวนอน (พหุนามแบบ 0 องศา) ไม่มีสามจุดตกบนเส้น (พหุนาม 1 องศา) ไม่มีสี่จุดที่ตกลงบนพาราโบลา (พหุนามแบบ 2 องศา) เป็นต้น ท้าทาย เขียนโปรแกรมที่คำนวณลำดับ OEIS A301802 (n)จำนวนพีชคณิต interpolable น้อยที่สุดของ{1, 2, ..., n}สำหรับnเป็นที่มีขนาดใหญ่ที่สุดเท่าที่ทำได้ เกณฑ์การให้คะแนน ฉันจะกำหนดรหัสของคุณบนคอมพิวเตอร์ของฉัน (2.3 GHz Intel Core i5, RAM 8 GB) พร้อมอินพุตที่เพิ่มขึ้น คะแนนของคุณจะเป็นค่าที่ยิ่งใหญ่ที่สุดที่ใช้เวลาน้อยกว่า 1 นาทีเพื่อส่งออกค่าที่ถูกต้อง ตัวอย่าง ตัวอย่างเช่นการเรียงสับเปลี่ยน[1, 2, 4, …

2
ค้นหาว่านี่เป็นโปรแกรม Stack Cats ที่ถูกต้องหรือไม่ในสไตล์ Stack Cats!
พื้นหลัง Stack Catsเป็นภาษาลึกลับที่สามารถย้อนกลับได้โดย Martin Ender แต่ละคำสั่งใน Stack Cats เป็นทั้งการผกผันของตัวเอง (แสดงเป็นตัวอักษรสมมาตรเช่น-_:T|) หรือมีคำสั่งผกผันของมัน (แสดงเป็นภาพสะท้อนในกระจกเช่น() {} [] <>) Stack Cats มีความต้องการด้านไวยากรณ์ที่แข็งแกร่งซึ่งโปรแกรมทั้งหมดควรเป็นภาพสะท้อนของตัวมันเอง โปรดทราบว่านี้หมายถึงการที่ถูกต้องโปรแกรมใด ๆ Stack แมวเป็นแอมบิแกรมภาพกระจกสะท้อนธรรมชาติ นี่คือชุดคำสั่งทั้งหมดของ Stack Cats: Self-สมมาตร: !*+-:=ITX^_| คู่สมมาตร: () {} [] <> \/ อักขระอื่น ๆ ไม่ถูกต้อง อินพุตใด ๆ ที่มีอักขระที่ไม่ได้อยู่ในชุดอักขระด้านบนควรเอาต์พุตเท็จ ภาษามีข้อ จำกัด เพิ่มเติมที่()และ{}คู่ต้องสมดุลเสมอ แต่เพื่อความเรียบง่ายคุณไม่จำเป็นต้องตรวจสอบเงื่อนไขนี้ ต่อไปนี้เป็นตัวอย่างของโปรแกรมStack Cats ที่ถูกต้อง (อีกครั้งโปรดทราบว่าคุณไม่ได้ตรวจสอบการล้อเลียนที่สมดุล): {[+]==[+]} [)>^<(] ({T)}|{(T}) …

13
ใช้อัลกอริธึมของยีนแบบไขว้
งานของคุณคือการยอมรับการป้อนข้อมูลลำดับของยีนที่สองและลำดับของ "ข้ามจุด" และส่งกลับลำดับของยีนที่เป็นผลมาจากการข้ามครอสที่ระบุ สิ่งที่ผมหมายถึงนี้คือว่าคุณมีลำดับ[A, A, A, A, A, A, A]และ[Z, Z, Z, Z, Z, Z, Z]และข้ามจุดและ2 5ลำดับผลลัพธ์จะเป็น[A, A, Z, Z, Z, A, A]เพราะ: ข้ามที่นี่: VV ดัชนี: 0 1 2 3 4 5 6 ยีน 1: AAAAAAA ยีน 2: ZZZZZZZ ผลลัพธ์: AAZZZAA ^ ^ โปรดทราบว่าในขณะที่ฉันกำลังใช้ตัวอักษรที่นี่เพื่อความชัดเจนความท้าทายที่แท้จริงใช้ตัวเลขสำหรับยีน ผลลัพธ์คือลำดับแรกจนกระทั่งพบจุดข้ามจากนั้นผลลัพธ์จะเริ่มจากลำดับที่สองจนกระทั่งพบจุดข้ามอีกจุดจากนั้นผลลัพธ์จะเริ่มจากลำดับแรกจนกระทั่งพบจุดตัดเหนือ ... การป้อนข้อมูล: การป้อนข้อมูลอาจเป็นรูปแบบที่เหมาะสม ทั้งสองลำดับสามารถเป็นคู่โดยมีคะแนนเป็นอาร์กิวเมนต์ที่สองทั้งสามสามารถแยกอาร์กิวเมนต์อาร์กิวเมนต์แฝดของ(genes 1, …

19
อ่านสีในแบบของฉัน
ระบบที่ต่างกันมีวิธีการอธิบายสีที่ต่างกันแม้ว่าทุกคนกำลังพูดในพื้นที่ RGBA นักพัฒนา front-end ที่มีความคุ้นเคยกับ CSS #RRGGBBAAอาจจะชอบ แต่นักพัฒนา Android #AARRGGBBอาจต้องการ เมื่อจัดการรูปแบบไฟล์ AAS #AABBGGRRจำเป็นต้องมี มันสับสนเกินไป บางทีเราต้องการโปรแกรมที่สามารถแปลงระหว่างรูปแบบสีต่างๆ การป้อนข้อมูล: อินพุตประกอบด้วย 3 ส่วน: สีที่ต้องการแปลง (เช่น#1459AC0F) สตริงที่ขึ้นต้นด้วยเครื่องหมายคม#ตามด้วยเลขฐานสิบหก 8 หลัก รูปแบบของสีที่กำหนด (เช่น#RRGGBBAA) สตริงที่เริ่มต้นด้วย#ผู้ติดตาม 8 ตัวอักษรซึ่งตกอยู่ใน 4 กลุ่มที่แตกต่างกันและแต่ละกลุ่มเป็นหนึ่งRR/ GG/ /BBAA รูปแบบที่จะแปลงเป็น เอาท์พุท: เอาท์พุทสีในรูปแบบที่แปลงแล้ว กรณีทดสอบ: Color, OriginalFormat, TargetFormat -> Result #12345678, #RRGGBBAA, #AARRGGBB -> #78123456 #1A2B3C4D, #RRGGBBAA, #AABBGGRR …

15
ความเท่าเทียมกันของสกรรมกริยา
ความท้าทาย โปรแกรมของคุณควรมี 3 อินพุต: จำนวนเต็มบวกซึ่งเป็นจำนวนตัวแปร ชุดของคู่ที่ไม่เรียงลำดับของจำนวนเต็มที่ไม่ใช่ค่าลบซึ่งแต่ละคู่แสดงถึงความเท่าเทียมกันระหว่างตัวแปรและ จำนวนเต็มบวกซึ่งแสดงถึงตัวแปรเริ่มต้น มันควรจะส่งคืนชุดของจำนวนเต็มที่ไม่ใช่ค่าลบซึ่งเป็นตัวแทนของตัวแปรทั้งหมดซึ่งสามารถแสดงให้เห็นว่าเป็นแบบเปลี่ยนผ่านได้เท่ากับตัวแปรเริ่มต้น (รวมถึงตัวแปรเริ่มต้นเอง) ในคำอื่น ๆ ปัจจัยการผลิตที่กำหนดN, EและSกลับชุดQดังกล่าวว่า: S ∈ Q. ถ้าZ ∈ Qและแล้ว(Y = Z) ∈ EY ∈ Q ถ้าZ ∈ Qและแล้ว(Z = Y) ∈ EY ∈ Q สิ่งนี้สามารถแสดงเป็นปัญหากราฟทฤษฎี : รับกราฟไม่มีทิศทางและจุดสุดยอดในกราฟรายชื่อจุดในขององค์ประกอบที่เกี่ยวโยงกัน ข้อมูลจำเพาะ คุณสามารถเลือกที่จะใช้การจัดทำดัชนีแบบอิง 0 หรือ 1 อินพุตแรกนับจำนวนตัวแปรที่มีอยู่โดยที่ตัวแปรถูกกำหนดเป็นตัวเลข อีกทางหนึ่งคุณไม่สามารถรับอินพุตนี้ซึ่งในกรณีนี้จะถือว่าเท่ากับดัชนีตัวแปรสูงสุดที่มีอยู่หรือมากกว่าหนึ่งนี้ขึ้นอยู่กับรูปแบบการจัดทำดัชนีของคุณ คุณสามารถสันนิษฐานได้ว่าอินพุตมีรูปแบบที่ดี: คุณจะไม่ได้รับตัวแปรนอกช่วงที่ระบุโดยอินพุตแรก ตัวอย่างเช่น3, [1 = 2, …

24
ตัวสร้าง ID ที่ไม่มีคู่ที่ต่อเนื่องกันที่ตรงกัน
รับ 2 อินพุต (m = รหัสเริ่มต้นขั้นต่ำ , n = จำนวนรหัส ), สร้างรายการลำดับของรหัสเริ่มต้นที่> = m, ประกอบด้วยตัวเลข 0-9 โดยไม่มีตัวเลขต่อเนื่อง 2 หมายเลขเช่น 1232 คือ ตกลง 1233 ไม่ใช่ (มี 2 '3 อยู่ติดกัน) ตัวอย่าง สำหรับ m = 985, n = 6, ด้านล่างแสดงรหัสที่จะสร้าง / ข้าม ... 985 - ok, 1st 986 - ok, 2nd 987 - …

11
ต้องการเห็น Magic Card Trick ไหม?
เคล็ดลับการ์ดเวทย์มนตร์แรกที่ฉันได้เรียนรู้ตอนเป็นเด็กคือ: มีไพ่ 1 สำรับที่ลวดลายด้านหลังไม่สมมาตรในแนวตั้ง จัดระเบียบการ์ดทั้งหมดให้หันไปทางเดียว ขอให้คน ๆ หนึ่ง "หยิบการ์ดการ์ดใด ๆ จดจำและส่งคืนให้คุณ" ดำเนินการต่อเพื่อใส่ลงในสำรับ (ในทิศทางที่ผิด) สุ่มเล่นอย่างแรงโดยให้ภาพลวงตาว่าคุณจะไม่ทราบว่าการ์ดของพวกเขาอยู่ที่ไหน ผลิตบัตรของพวกเขาเพื่อความประหลาดใจของพวกเขา เห็นได้ชัดว่าเคล็ดลับนี้ขาดความเป็นธรรมชาติเล็กน้อยในตอนนี้ต่อวันอย่างไรก็ตามมันเป็นเรื่องที่ท้าทาย เขียนโปรแกรมซึ่งเมื่อไม่มีการป้อนข้อมูลจะส่งสำรับไพ่แบบสุ่มที่มีการสับไพ่หนึ่งใบเลือกโดยสุ่มและสลับกลับ อย่างไรก็ตามเมื่ออินพุทเป็นสำรับไพ่ที่มีการ์ดหนึ่งใบกลับด้านคุณจะต้องส่งออกการ์ดที่กลับด้าน (ตามลำดับที่ถูกต้อง) สำรับไพ่ สำรับไพ่ถูกกำหนดให้เป็น: [2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS,AS, 2D,3D,4D,5D,6D,7D,8D,9D,TD,JD,QD,KD,AD, 2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH,AH, 2C,3C,4C,5C,6C,7C,8C,9C,TC,JC,QC,KC,AC] การ์ดถูกกำหนดให้เป็นหมายเลขแล้วตามด้วยตัวอักษรตัวแรกของชุดสูท ด้านหลังของการ์ดเป็นสิ่งที่ตรงกันข้ามอย่างแท้จริงตัวอักษรตัวแรกของชุดตามด้วยหมายเลข การ์ดจับรางวัล ตัวอย่างถ้าบัตรที่เราเลือกสุ่มกลับเป็น4 of Clubs (4C)เราก็จะจบลงด้วย (โดยไม่มีการสับชัด): [2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS,AS, 2D,3D,4D,5D,6D,7D,8D,9D,TD,JD,QD,KD,AD, 2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH,AH, 2C,3C,C4,5C,6C,7C,8C,9C,TC,JC,QC,KC,AC] The Shuffling จากนั้นหลังจากการสับ: [2H,2C,6S,4D,QH,6C,TD,8C,7H,5H,C4,3D,7S,7C,KC,QD,QC,JS,7D,6D,2S,5C,KD,3C,3S,2D,8H,KH,6H,AH,8S,JH,TS,AD,5D,9H,4H,JD,QS,4S,JC,3H,8D,TC,AS,TH,KS,AC,9C,9S,5S,9D] นี่เป็นเอาต์พุตที่ถูกต้องที่ให้อินพุตว่าง อินพุตเด็ค แต่ตรงกันข้ามเมื่อโปรแกรมของเราได้รับการส่งออกดังกล่าวข้างต้นเป็น input 4Cก็ควรเอาท์พุท กล่าวคือสำหรับการป้อนข้อมูลของ: [2H,2C,6S,4D,QH,6C,TD,8C,7H,5H,C4,3D,7S,7C,KC,QD,QC,JS,7D,6D,2S,5C,KD,3C,3S,2D,8H,KH,6H,AH,8S,JH,TS,AD,5D,9H,4H,JD,QS,4S,JC,3H,8D,TC,AS,TH,KS,AC,9C,9S,5S,9D] คุณวนซ้ำจนกว่าคุณจะพบการ์ดที่กลับด้านแล้วคืนกลับสู่สถานะปกติ ดังนั้นที่นี่เราจะพบC4ว่ารู้ว่า …

10
หมายเลขคอมโพสิตเดิม
นิยามลำดับ สร้างลำดับของจำนวนเต็มบวกa(n)ดังนี้ a(0) = 4 ระยะแต่ละa(n)อื่น ๆ กว่าครั้งแรกเป็นจำนวนน้อยที่สุดที่ตอบสนองความต่อไปนี้: ก) a(n)เป็นจำนวนคอมโพสิต ข) a(n) > a(n-1)และ ค) เป็นจำนวนคอมโพสิตสำหรับแต่ละa(n) + a(k) + 10 <= k < n a(0) = 4ดังนั้นเราจึงเริ่มต้นด้วย รายการต่อไปจะต้องเป็นa(1) 9ไม่สามารถเป็นได้5หรือ7เนื่องจากไม่มีคอมโพสิตและไม่สามารถเป็น6หรือ8เพราะ6+4+1=11ไม่ได้ประกอบและ8+4+1=13ไม่ได้ประกอบ สุดท้ายซึ่งเป็นคอมโพสิตดังนั้น9+4+1=14a(1) = 9 รายการต่อไปa(2)จะต้องเป็น10เพราะมันเป็นจำนวนที่เล็กที่สุดที่มีขนาดใหญ่กว่าและ9มีทั้งคอมโพสิต10+9+1=2010+4+1=15 สำหรับรายการถัดไป11และ13ทั้งคู่ก็ออกเพราะพวกเขาไม่ได้ประกอบ 12ออกเนื่องจาก12+4+1=17ไม่ประกอบ 14ออกเนื่องจาก14+4+1=19ไม่ประกอบ ดังนั้น15เป็นระยะต่อไปของลำดับเนื่องจาก15เป็นคอมโพสิตและ15+4+1=20, 15+9+1=25และทุกคนในแต่ละคอมโพสิตดังนั้น15+10+1=26a(3) = 15 นี่คือ 30 คำแรกในลำดับนี้: 4, 9, 10, 15, 16, 22, 28, …

8
จำลองเซลล์ประสาทจำลอง
Izhikevich เซลล์ประสาทจะง่ายยังรูปแบบค่อนข้างมีประสิทธิภาพของเซลล์ประสาทชีววิทยาที่ออกแบบมาสำหรับการใช้งานในแบบจำลองเวลาก้าวต่อเนื่อง ในการแข่งขันกอล์ฟนี้คุณจะต้องใช้โมเดลนี้ พารามิเตอร์ โมเดลนี้มีเพียง 7 ตัวแปรที่จัดเป็นสมการเชิงอนุพันธ์ 2 แบบเมื่อเทียบกับพารามิเตอร์หลายสิบตัวของแบบจำลองทางกายภาพที่แม่นยำ vและuเป็นตัวแปรสถานะสองอย่างของเซลล์ประสาท นี่vคือตัวแปร "เร็ว" ที่แสดงถึงศักยภาพของเซลล์เมื่อเวลาผ่านไปและuเป็นตัวแปร "ช้า" ที่แสดงถึงคุณสมบัติของเมมเบรนบางอย่าง vตัวแปรหนึ่งที่สำคัญที่สุดเช่นนี้เป็นผลลัพธ์ของการจำลอง a, b, cและdได้รับการแก้ไขค่าคงที่อธิบายคุณสมบัติของเซลล์ประสาท เซลล์ประสาทประเภทต่าง ๆ มีค่าคงที่ต่างกันขึ้นอยู่กับพฤติกรรมที่ต้องการ ยวดcเป็นศักยภาพการรีเซ็ตซึ่งเป็นศักยภาพเยื่อหุ้มเซลล์กลับไปหลังจาก spiking Iแสดงถึงกระแสไฟฟ้าที่ป้อนเข้าสู่เซลล์ประสาท ในการจำลองเครือข่ายสิ่งนี้จะเปลี่ยนแปลงตลอดเวลา แต่สำหรับวัตถุประสงค์ของเราเราจะถือว่าIเป็นค่าคงที่ที่แน่นอน นางแบบ รุ่นนี้มีรหัสเทียมที่ง่ายมาก อันดับแรกเรารับค่าคงที่abcdและใช้เพื่อเริ่มต้นvและu: v = c u = b * c ต่อไปเราวนซ้ำรหัสจำลองหลาย ๆ ครั้งตามที่ต้องการ การวนซ้ำแต่ละครั้งแสดงเวลา 1 มิลลิวินาที for 1..t: if v >= 30: …

6
Panfix ไปยังวงเล็บที่ใส่ไว้
Quylthulgเป็นภาษาโดย Chris Pressey ที่พยายามแก้ไขปัญหาสัญกรณ์ของ infix โดยใช้สิ่งที่เรียกว่าpanfix : เช่น postfix Panfix ไม่ต้องการการปรับใช้ Arcane contrivances เช่นวงเล็บเพื่อแทนที่การมาก่อนของโอเปอเรเตอร์ ในเวลาเดียวกัน panfix อนุญาตให้ระบุเงื่อนไขในลำดับและลักษณะเดียวกับมัดซึ่งเป็นสัญกรณ์ธรรมชาติและใช้งานง่ายสำหรับผู้ที่คุ้นเคย คุณจะได้รับความสะดวกสบายของสัญกรณ์มัดพร้อมกับความไม่น่าสงสัยของคำนำหน้าหรือ postfix? ใช้แน่นอนทั้งสาม! =y=+*3*x*+1+= เป็นทางการมากขึ้นปล่อยให้+เป็นโอเปอเรเตอร์aและbเป็นนิพจน์ จากนั้น(a+b)เป็นนิพจน์มัดที่ถูกต้อง (วงเล็บ) การแสดง Panfix ของนิพจน์นั้นคือ+a+b+ที่ juxtaposition แสดงถึงการต่อกัน เป้าหมายของคุณคือการใช้สตริง panfix และแปลงเป็นมัดมัดเต็ม: (y=((3*x)+1)) เพื่อความง่ายเราจะทำการเปลี่ยนแปลงดังต่อไปนี้: ตัวดำเนินการสามารถประกอบด้วยอักขระที่ไม่ซ้ำกันสองตัวเท่านั้น (คุณสามารถเลือกได้ แต่ที่นี่ฉันจะใช้*และ+) มีเพียงตัวอักษรเดียวซึ่งประกอบด้วยตัวละครอื่นที่แตกต่างกัน (คุณสามารถเลือกใด ๆ แต่ที่นี่ฉันจะใช้_) อินพุตจะเป็นนิพจน์ Panfix ที่มีรูปแบบที่ดี สำหรับความซับซ้อนเราจะทำการเปลี่ยนแปลงดังต่อไปนี้: ผู้ประกอบการสามารถประกอบด้วยจำนวนอักขระที่เป็นบวกใด ๆไม่ใช่เพียงหนึ่งตัวอักษร สิ่งนี้ทำให้ความท้าทายมีความยุ่งยากมากขึ้นเนื่องจากคุณไม่สามารถระบุได้ว่าสตริงย่อยของตัวดำเนินการที่กำหนดจะถูกแบ่งพาร์ติชันโดยไม่ได้ดูสตริงที่เหลือหรือไม่ นี่คือการดำเนินการอ้างอิงสำหรับความท้าทายที่ได้รับความอนุเคราะห์จาก @ …

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