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

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

30
วาดรูปแบบโบว์ลิ่ง
เป้าหมายของคุณคือการแสดงศิลปะ ASCII ของการก่อตัวในโบว์ลิ่งสิบพินซึ่งมีหมุดเหลืออยู่เพียงบางส่วน ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ หมุดนับสิบอยู่ในรูปแบบสามเหลี่ยม: O O O O O O O O O O หมุดมีป้ายกำกับตั้งแต่ 1 ถึง 10 เป็น: 7 8 9 10 4 5 6 2 3 1 วาดหมุดเป็นOและหายไปในขณะที่.การก่อตัว1 3 5 6 9 10คือ: . . O O . O O . O O การป้อนข้อมูล: สตริงที่คั่นด้วยช่องว่างที่แสดงชุดย่อยที่ไม่ว่างเปล่าของตัวเลข 1 ถึง …

30
ถอดรหัสรหัสแหล่งที่มา [ปล้นด้ายสำหรับความพยายามในการถอดรหัส]
นี่คือเธรดที่แสดงร่วมเป็นส่วนหนึ่งในการถอดรหัสรหัสหลักของการท้าทายซอร์สโค้ด หากคุณคิดว่าคุณสามารถถอดรหัสคำตอบหนึ่งในตำรวจได้คุณควรโพสต์คำตอบของคุณเป็นคำตอบของกระทู้นี้ เพื่อเป็นการเตือนคุณมีความพยายามในการถอดรหัสแต่ละครั้ง ความพยายามแคร็กของคุณจะเป็นซอร์สโค้ดเวอร์ชันที่ไม่มีการบีบอัด หากการทายของคุณตรงกับคำอธิบาย (ตัวละครเดียวกันเอาท์พุทและภาษาของหลักสูตร) ​​และคุณเป็นผู้เดาที่ถูกต้องคุณจะได้รับรางวัล มันเป็นสิ่งสำคัญที่จะต้องทราบว่าโปรแกรมของคุณไม่จำเป็นต้องตรงกับต้นฉบับเพียงแค่ใช้ตัวอักษรเดียวกันและมีฟังก์ชั่นเดียวกัน ซึ่งหมายความว่าอาจมีคำตอบที่ถูกต้องมากกว่าหนึ่งคำ โจรที่มีคะแนนมากที่สุด (ชนะได้สำเร็จ) ลีดเดอร์บอร์ด แก้มากเกินไป Martin Büttner: (Python 3, 16, matsjoyce) , (CJam, 15, Ypnypn) , (Mathematica, 29, Fox Wilson) , (JavaScript, 15, Caridorc) , (CJam, 52, user23013) , ( Pyth , 11, isaacg) , (PHP, 22, kenorb) , (PHP, 13, kenorb) …

26
ขัดข้องคอมไพเลอร์ที่คุณชื่นชอบ [ปิด]
เขียนรหัสทางกฎหมายอย่างสมบูรณ์ในภาษาที่คุณเลือกซึ่งการรวบรวมจะทำให้คอมไพเลอร์ผิดพลาดหรือส่งไปยังวงวนไม่สิ้นสุด (เวลารวบรวมไม่สิ้นสุด) ข้อ จำกัด: ใช้ภาษามาตรฐานที่ใช้ในโลกแห่งความเป็นจริง ใช้คอมไพเลอร์มาตรฐานที่ได้รับการพัฒนามาอย่างดี (ไม่มีคำตอบเช่น "ฉันเขียนคอมไพเลอร์ C ของฉันที่ขัดข้องทุกอย่าง") รหัสจะต้องถูกกฎหมายในภาษา (ดังนั้นส่วนใหญ่คุณจะต้องใช้ประโยชน์จากคอมไพเลอร์หรือข้อบกพร่องทางภาษา) ใช้เวอร์ชันคอมไพเลอร์และตัวเลือกของคุณเพื่อให้ผู้อื่นสามารถทำซ้ำได้ อธิบายว่าทำไมคอมไพเลอร์จึงล้มเหลวถ้าเป็นไปได้ มีความสุข :)

12
ความเท่าเทียมกันของนายกรัฐมนตรี
จุดประสงค์ของการท้าทายนี้คือการอธิบายการเดินบนเครื่องบินที่ทิศทางของแต่ละขั้นตอนkkkถูกกำหนดโดยความเป็นอันดับแรกของและความเท่าเทียมกันของการขยายตัวแบบไบนารี โดยเฉพาะอย่างยิ่งkkk ทิศทางเริ่มต้นคงที่แล้วพูดทิศเหนือ ทุกขั้นตอนมีความยาวเท่ากัน ทิศทางของขั้นตอนสามารถเป็นนอร์ทเวสต์, เซาท์หรือตะวันออกกลางและถูกกำหนดดังต่อไปนี้: kkk หากไม่เป็นเอกสิทธิ์ทิศทางจะไม่เปลี่ยนkkk หากเป็นจำนวนเฉพาะและการขยายตัวแบบไบนารีของมีจำนวนเท่ากันให้เลี้ยวขวาkkkkkk หากเป็นจำนวนเฉพาะและการขยายตัวแบบไบนารีของมีจำนวนคี่ให้เลี้ยวซ้ายkkkkkk เป็นตัวอย่างที่ทำงานสมมติว่าทิศทางเริ่มต้นคือทิศเหนือ ขั้นตอนแรกคือ: k = 1k=1k=1ไม่สำคัญ ดังนั้นเราจึงเคลื่อนที่ไปหนึ่งก้าวในทิศทางปัจจุบันซึ่งก็คือทิศเหนือ k = 2k=2k=2เป็นจำนวนเฉพาะและส่วนขยายไบนารี10มีและจำนวนคี่ ดังนั้นเราเลี้ยวซ้ายและตอนนี้หันหน้าไปทางทิศตะวันตก เราเคลื่อนที่ไปหนึ่งก้าวในทิศทางนั้น k = 3k=3k=3เป็นจำนวนเฉพาะและการขยายฐานสองของมัน11มีและจำนวนคู่ ดังนั้นเราเลี้ยวขวาและตอนนี้หันหน้าไปทางทิศเหนือ เราเคลื่อนที่ไปหนึ่งก้าวในทิศทางนั้น k = 4k=4k=4ไม่สำคัญ ดังนั้นเราจึงเคลื่อนที่ไปหนึ่งก้าวในทิศทางปัจจุบันซึ่งก็คือทิศเหนือ ความท้าทาย การป้อนข้อมูล : บวกจำนวนเต็มNยังไม่มีข้อความNN เอาต์พุต : พล็อตของการเดิน -step ตามที่กำหนดไว้ด้านบนยังไม่มีข้อความNN กฎเพิ่มเติม ทิศทางเริ่มต้นที่สามารถเลือกได้อย่างอิสระ (ไม่จำเป็นต้องเหนือ) แต่ควรจะเหมือนกันทุกNยังไม่มีข้อความNN กฎการเปลี่ยนอาจจะตรงข้ามกับที่อธิบายไว้ข้างต้นนั่นคือเลี้ยวขวาเท่าเทียมกันคี่และซ้ายสำหรับแม้แต่; แต่มันจะต้องมีเหมือนกันทุกNยังไม่มีข้อความNN ผลลัพธ์จะต้องเป็นภาพกราฟิกของการเดิน ตัวอย่างเช่น การเดินสามารถวาดด้วยส่วนของเส้น จุดที่เยี่ยมชมสามารถแสดงด้วยเครื่องหมายเช่นจุด; มีหรือไม่มีการเชื่อมต่อส่วนของเส้น …

30
สายนี้เป็นสี่เหลี่ยมหรือไม่?
สตริงถือเป็นสแควร์หากตรงตามเงื่อนไขต่อไปนี้: แต่ละบรรทัดมีจำนวนอักขระเท่ากัน จำนวนอักขระในแต่ละบรรทัดเท่ากับจำนวนบรรทัด งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งกำหนดว่าสตริงอินพุตที่กำหนดเป็นสี่เหลี่ยมหรือไม่ คุณอาจต้องป้อนข้อมูลให้คั่นด้วยตัวเลือก LF, CR หรือ CRLF อักขระขึ้นบรรทัดใหม่ไม่ถือเป็นส่วนหนึ่งของความยาวของบรรทัด คุณอาจต้องการให้มีหรือไม่เป็นบรรทัดใหม่ต่อท้ายในการป้อนข้อมูลซึ่งไม่นับเป็นบรรทัดเพิ่มเติม อินพุตเป็นสตริงหรืออาร์เรย์ถ่าน 1D มันไม่ใช่รายการของสตริง คุณอาจสมมติว่าอินพุตไม่ว่างเปล่าและมี ASCII ที่พิมพ์ได้เท่านั้นรวมถึงช่องว่าง คุณต้องส่งออกค่าความจริงสำหรับสตริงสแควร์และหนึ่งค่าเท็จสำหรับสตริงอื่น ๆ กรณีทดสอบจริง: foo บาร์ baz . .S .ss .S (s หมายถึงพื้นที่) เอสเอส เอสเอส (s หมายถึงพื้นที่) aaaaa aaaaa aaaaa aaaaa aaaaa กรณีทดสอบเท็จ: .. . . . .... .... 4444 333 22 333 333 …

3
ช่วยด้วยฉันติดอยู่ในสามเหลี่ยม Sierpinski!
วาดรูปสามเหลี่ยม Sierpinski ได้รับการ ทำเพื่อ ความตาย มีสิ่งที่น่าสนใจอื่น ๆ ที่เราสามารถทำได้ หากเราเหลื่อมอย่างหนักที่สามเหลี่ยมเราสามารถดูรูปสามเหลี่ยมกลับหัวกลับหางเป็นโหนดของกราฟเศษส่วน ลองหาวิธีของเรารอบกราฟนั้น! ก่อนอื่นเรามากำหนดหมายเลขให้แต่ละโหนด รูปสามเหลี่ยมคว่ำที่ใหญ่ที่สุดจะเป็นศูนย์โหนดและจากนั้นเราก็ลงเลเยอร์ทีละเลเยอร์ คลิกเพื่อดูเวอร์ชั่นที่ใหญ่ขึ้นซึ่งตัวเลขขนาดเล็กจะเบลอน้อยลง (แน่นอนรูปแบบนี้ยังคงไม่มีที่สิ้นสุดภายในรูปสามเหลี่ยมสีฟ้า.) วิธีการกำหนดเลขก็คือว่าโหนดกลางมีดัชนี0และเด็กของโหนดi(รูปสามเหลี่ยมที่อยู่ติดกันของระดับถัดไปที่มีขนาดเล็ก) มีดัชนี3i+1, และ3i+23i+3 เราจะย้ายกราฟนี้อย่างไร มีขั้นตอนตามธรรมชาติได้ถึงหกขั้นตอนที่เราสามารถเลือกได้จากรูปสามเหลี่ยมใด ๆ เราสามารถเคลื่อนที่ผ่านจุดกึ่งกลางของขอบหนึ่งไปยังหนึ่งในสามลูกของโหนดปัจจุบัน เราจะกำหนดให้การเคลื่อนไหวเหล่านี้เป็นN, และSW SEเช่นถ้าเราอยู่บนโหนด2เหล่านี้จะนำไปสู่ต่อมน้ำ7, 8, 9ตามลำดับ การเคลื่อนไหวอื่น ๆ ผ่านขอบ (ไปยังลูกหลานทางอ้อม) ไม่ได้รับอนุญาต เราสามารถเลื่อนมุมหนึ่งในสามมุมนี้ได้โดยที่ไม่แตะที่ขอบของสามเหลี่ยมเพื่อไปยังผู้ปกครองโดยตรงหรือบรรพบุรุษทางอ้อมหนึ่งในสองคน เราจะกำหนดให้การเคลื่อนไหวเหล่านี้เป็นS, และNE NWเช่นถ้าเราอยู่บนโหนด31, Sจะนำไปสู่10, NEจะไม่ถูกต้องและจะนำไปสู่NW0 ความท้าทาย กำหนดจำนวนเต็มสองค่าที่ไม่ใช่ลบxและyหาเส้นทางที่สั้นที่สุดจากxไปถึงyโดยใช้เพียงแค่หกการเคลื่อนไหวที่อธิบายข้างต้น หากมีเส้นทางที่สั้นที่สุดหลายเส้นทางให้เลือกเส้นทางใดเส้นทางหนึ่ง โปรดทราบว่ารหัสของคุณควรใช้งานได้มากกว่า 5 ระดับที่อธิบายไว้ในแผนภาพด้านบน x, y < 1743392200คุณอาจจะคิดว่า สิ่งนี้ทำให้มั่นใจได้ว่ามันพอดีกับจำนวนเต็ม 32 บิต …

10
ฟอลคอนเฮฟวี่เวท
เลือกชุดสี่ไบต์โดยไม่มีการแทนที่ (เช่นไม่มีการทำซ้ำไบต์) และไม่จำเป็นต้องเรียงตามลำดับจากชุดใดชุดหนึ่งต่อไปนี้: อักขระของการเข้ารหัสไบต์เดียวใด ๆ อักขระ Unicode ในช่วง 00 – FF จำนวนเต็มทศนิยมที่ลงนามในช่วง −128–127 จำนวนเต็มทศนิยมที่ไม่ได้ลงนามในช่วง 0–255 ค่าสี่ค่าที่คุณเลือก (โปรดระบุว่าเป็นค่าใด) จะเป็นอินพุตที่ถูกต้อง คุณต้องจับคู่แต่ละค่ากับหนึ่งในงานศิลปะ ASCII ด้านล่าง ได้รับ (โดยวิธีการใด ๆ ) หนึ่งในสี่อินพุตที่ถูกต้องของคุณตอบสนอง (โดยวิธีการใด ๆ แม้รายการของสตริง) ด้วยศิลปะ ASCII ที่สอดคล้องกัน อนุญาตให้มีพื้นที่สีขาวเป็นพิเศษในทุกด้านตราบใดที่ภาพนั้นอยู่ในพื้นที่ 2D ที่ต่อเนื่องกัน ไบต์แรก: /\ / \ | | | | | | |____| \__/ | | | …

23
ครอบคลุมเส้นขอบฟ้าด้วยแปรงลายเส้น
เมื่อรับรายการความสูงเส้นขอบฟ้าจำนวนเต็มแบบไม่ลบให้ตอบว่าจำเป็นต้องใช้แปรงเส้นแนวนอนจำนวน 1 หน่วยต่อเนื่องสูงเพียงใดเพื่อครอบคลุม [1,3,2,1,2,1,5,3,3,4,2]มองเห็นเป็น: 5 5 4 3 5334 32 2 53342 13212153342 ต้องการแปรงเก้าจังหวะ: 1 2 3 4 5555 66 7 88888 99999999999 ตัวอย่าง [1,3,2,1,2,1,5,3,3,4,2] → 9 [5,8] → 8 [1,1,1,1] → 1 [] → 0 [0,0] → 0 [2] → 2 [2,0,2] → 4 [10,9,8,9] → 11

30
การต่อสู้ของทองคำ
ความท้าทายนี้สิ้นสุดลงแล้ว หากต้องการดูคะแนนสุดท้ายของคู่แข่งคลิกที่นี่ ในความท้าทายนี้การส่งแต่ละครั้งจะเป็นหนึ่งบอท บอทแต่ละอันควรเป็นฟังก์ชัน Javascript บอทจะต่อสู้เพื่อให้ได้มูลค่ารวมสูงสุดในทองคำ ทองสามารถทำไร่ไถนาหรือได้รับจากการฆ่าบอทอื่น ๆ และใช้เพื่อยกระดับการรักษาการโจมตีการป้องกันและการทำฟาร์ม วัตถุประสงค์: จำนวนรอบที่มีมากถึง 1,000 รอบ (จบลงเมื่อเหลือบอทเพียงอันเดียว) บอทที่มีมูลค่ารวมสูงสุด (ผลรวมของทองคำทั้งหมดที่ได้รับ) จะเป็นผู้ชนะ ย้อนกลับ: ในแต่ละเทิร์นบอททุกอันที่ยังมีชีวิตอยู่ (> 0 HP) จะถูกเรียกใช้ครั้งเดียว สามารถส่งคืนการย้ายซึ่งสามารถเป็นหนึ่งในสิ่งต่อไปนี้: รักษา: ฟื้น HP การโจมตี: ลบ HP ออกจากบอทอื่น โล่: ป้องกันการโจมตีในภายหลัง Stun: ข้ามการเปิดรอบถัดไปของ bot อื่น ฟาร์ม: รับทองด้วยค่า HP อัพเกรด: ทำให้การเคลื่อนไหวบางอย่างดีขึ้น บอตทั้งหมดจะกลับมาเคลื่อนไหวก่อนที่จะถูกประหารดังนั้น stun, Heal, Attack, shield, ฯลฯ จะไม่ส่งผลต่อบอทที่เคลื่อนที่ในภายหลังในเทิร์นนั้น ตัวอย่างเช่นหากบอท …

30
ความเร็วของตัวอักษร
รับสตริงเป็นอินพุตพิมพ์สตริงใหม่ด้วยตัวอักษรแต่ละตัวที่ถูกเลื่อนไปทางขวาโดยดัชนีตัวอักษรที่เกี่ยวข้อง เราทุกคนรู้ว่า A ช้าและ Z เป็นตัวอักษรเร็ว ซึ่งหมายความว่า Z ถูกเลื่อนไปทางขวา 25 ช่องทาง A ไม่ได้เลื่อนเลยและ B ถูกเลื่อน 1 ช่อง โปรแกรมของคุณต้องจัดการกับตัวอักษรตัวพิมพ์ใหญ่จาก AZ เท่านั้นและไม่มีอักขระอื่น ๆ ไม่มี whitespaces และไม่มีเครื่องหมายวรรคตอน โปรดทราบว่าหากตัวอักษร 2 ตัวขึ้นไปตกลงไปในพื้นที่เดียวกันหลังจากขยับตัวอักขระล่าสุดจะถูกนำมาใช้ (ตัวอย่าง: BA-> A) ตัวอย่าง "AZ" -> "A Z" "ABC" -> "A B C" "ACE" -> "A C E" "CBA" -> " A" "HELLOWORLD" …
43 code-golf  string 

30
ใช้เครื่องคิดเลข iOS 11
iOS 11 มีข้อผิดพลาดที่ทำให้ผลของ 1 + 2 + 3 ที่จะเป็น 24 สิ่งนี้เกี่ยวข้องกับความเร็วของภาพเคลื่อนไหว แต่อย่างไรก็ตาม: 1 + 2 + 3 == 24งานที่จะทำให้ แต่เพียงว่า ดังนั้นคุณควรให้การทำงานที่ถูกต้องสรุปลำดับมากที่สุด แต่ผลตอบแทน24เมื่อข้อโต้แย้งที่มี1, 2และ3ในลำดับใด ตัวอย่างอินพุต: 1 2 => 3 3 4 => 7 1 2 3 4 5 6 7 8 9 => 45 3 2 1 => 24 2 1 …
43 code-golf  math  number 

30
ปริศนาการเขียนโปรแกรมของโหมดกอล์ฟ
งานของคุณคือการพิมพ์ข้อความGood morning, Green orb!โดยให้ตัวละครทุกตัวซ้ำหลาย ๆ ครั้งซึ่งเป็นไบต์ที่บ่อยที่สุดในแหล่งที่มาของคุณ (โหมด) บรรทัดใหม่ต่อท้ายได้รับอนุญาตและไม่จำเป็นต้องทำซ้ำ ตัวอย่างเช่นถ้าแหล่งที่มาของคุณคือ print p เนื่องจากpปรากฏสองครั้งและทุกไบต์อื่น ๆ จะปรากฏขึ้นเมื่อคุณต้องการพิมพ์ GGoooodd mmoorrnniinngg,, GGrreeeenn oorrbb!! คำตอบจะได้คะแนนจากผลคูณของจำนวนไบต์และจำนวนครั้งที่ส่งออกซ้ำ ตัวอย่างเช่นโค้ดข้างต้น (ถ้ามันทำงาน) จะให้คะแนน7 * 2 = 14 เป้าหมายควรเพื่อลดคะแนน รหัสของคุณต้องมีอย่างน้อย 1 ไบต์ ใช้โปรแกรมนี้เพื่อตรวจสอบว่ารหัสและผลลัพธ์ของคุณตรงกัน

24
ความโกลาหลเป็นบันได ASCII
คุณจะรู้ว่าไม่มีอะไร ในสิ่งที่ฉันทำเพื่อ " ความโกลาหลเป็นบันได "เป็นเส้นที่น่าจดจำจากทีวีซีรีส์ Game of Thrones จุดประสงค์ของการท้าทายนี้คือการสร้างบันไดจากความโกลาหลในศิลปะ ASCII ความท้าทาย อินพุต ความกว้างของบันไดW >= 3(จำนวนเต็ม) ขั้นสูงH >= 2(จำนวนเต็ม) จำนวนของ rungs N >= 2(จำนวนเต็ม) เอาท์พุต บันไดที่มีรางแนวนอนและรางแนวตั้งกว้าง 1 ตัวอักษร ความกว้างของบันได ( W) รวมถึงรางทั้งสองและความสูงของบันได ( H) รวมถึงร่องที่เกี่ยวข้อง Rungs ทั้งหมดรวมถึงสุดยอดและต่ำสุดจะมีรางแนวตั้งที่มีความยาวH-1ทั้งด้านบนและด้านล่าง ตัวอย่างจะทำให้ชัดเจนยิ่งขึ้น บันไดที่จะทำของพิมพ์อักขระ ASCII ที่ไม่ใช่ช่องว่างที่เป็นช่วงรวมจาก!(จุดรหัส33) ไป~(จุดรหัส126) ได้โดยง่ายตัวละครที่เกิดขึ้นจริงจะได้รับเลือกสุ่ม เมื่อได้รับอินพุตแต่ละตัวเลือกแบบสุ่มของตัวละครจะต้องมีความเป็นไปได้ที่ไม่ใช่ศูนย์ นอกเหนือจากนั้นการแจกแจงความน่าจะเป็นโดยพลการ อนุญาตให้นำช่องว่างนำหน้าหรือต่อท้ายไม่ว่าจะเป็นแนวนอนหรือแนวตั้ง ตัวอย่าง รับW=5, H=3, N=2หนึ่งผลลัพธ์ที่เป็นไปได้มีดังนี้ x …

6
Island Golf # 1: Circumnavigation
นี่เป็นครั้งแรกในชุดของความท้าทายของ Island Golf ความท้าทายต่อไป ได้รับเกาะในรูปแบบ ASCII เอาท์พุทเส้นทางที่เหมาะสมที่สุดเพื่อแล่นเรือรอบเกาะ อินพุต ข้อมูลที่คุณป้อนจะเป็นตารางสี่เหลี่ยมที่ประกอบด้วยอักขระสองตัวซึ่งแสดงถึงที่ดินและน้ำ ในตัวอย่างด้านล่างที่ดิน#และน้ำเป็น.แต่คุณอาจแทนที่อักขระสองตัวที่คุณต้องการ ........... ...##...... ..#####.... ..#######.. .#########. ...#######. ...#####.#. ....####... ........... จะมีแผ่นพื้นอย่างน้อยหนึ่งแผ่นเสมอ แผ่นกระเบื้องพื้นดินจะต่อเนื่องกัน (เช่นมีเพียงเกาะเดียว) แผ่นน้ำก็จะต่อเนื่องกัน (เช่นไม่มีทะเลสาบ) เส้นขอบด้านนอกของตารางทั้งหมดจะเป็นแผ่นน้ำ แผ่นพื้นดินจะไม่เชื่อมต่อในแนวทแยงมุม: นั่นคือคุณจะไม่เห็นสิ่งที่ต้องการ .... .#.. ..#. .... เอาท์พุต รหัสของคุณจะต้องส่งออกกริดเดียวกันโดยมีcircumnavigation ที่สั้นที่สุดเอาไว้ ในตัวอย่างด้านล่างเส้นทาง circumnavigation จะถูกวาดด้วยoแต่คุณสามารถทดแทนอักขระใดก็ได้ตราบใดที่มันแตกต่างจากตัวอักษรพื้นดินและน้ำ circumnavigationเป็นโค้งปิดง่ายวาดทั้งหมดบนกระเบื้องน้ำที่ล้อมรอบอย่างเต็มที่กระเบื้องแผ่นดินทั้งหมดบนตาราง การเชื่อมต่อในแนวทแยงจะได้รับอนุญาต ตัวอย่างเช่นนี่คือ circumnavigation ของเกาะด้านบน (แต่ไม่ใช่อันที่สั้นที่สุด): .ooooo..... o..##.oo... o.#####.o.. o.#######o. o#########o ooo#######o ..o#####.#o …

3
สร้างต้นไม้ตัวแบ่งที่ชื่นชอบสกอร์
ต้นไม้หารสกอร์ที่ชื่นชอบเป็นต้นไม้แห่งหารของใส่nว่าสำหรับจำนวนคอมโพสิตใด ๆmมีสองโหนดเด็กที่มีคู่ของตัวหารที่ใกล้เคียงกับรากที่สองmของ โหนดซ้ายควรจะเป็นตัวหารขนาดเล็กและโหนดที่เหมาะสมควรจะเป็นตัวหารขนาดใหญ่ของm mจำนวนเฉพาะในต้นไม้ไม่ควรมีโหนดลูก ต้นไม้ของคุณอาจอยู่ในรูปแบบของข้อความหรือรูปภาพ กฎสำหรับการส่งออกข้อความศิลปะมีดังนี้ กฎการเว้นวรรค ในการเว้นช่องว่างของโหนดบนต้นไม้เรามีกฎต่อไปนี้: โหนดที่ระดับความลึกที่กำหนดจากรูทควรอยู่ในบรรทัดข้อความเดียวกันในเอาต์พุต / \ Not / \ / \ / 3 2 3 2 สำหรับโหนดด้านซ้ายสาขาที่เข้ามาควรจะอยู่ทางด้านขวาบนหากโหนดนั้นเป็นตัวเลขหลักเดียวมิฉะนั้นจะอยู่เหนือหลักสุดท้าย ตัวอย่าง: / และ / 3 720 สำหรับโหนดที่ถูกต้องสาขาที่เข้ามาควรจะอยู่ทางด้านซ้ายบนหากโหนดนั้นเป็นตัวเลขหลักเดียวมิฉะนั้นจะอยู่เหนือหลักแรก ตัวอย่าง: \ AND \ 7 243 สำหรับสาขาซ้ายออกสาขาควรเริ่มต้นหนึ่งช่องทางด้านซ้ายของหมายเลข ตัวอย่าง: 275 / 11 สำหรับสาขาด้านขวาขาออกสาขาควรเริ่มต้นหนึ่งช่องทางด้านขวาของหมายเลข ตัวอย่าง: 275 \ 25 ใด ๆ ที่สองโหนดในระดับเดียวกันของต้นไม้ควรมีอย่างน้อยสองช่องว่างระหว่างพวกเขา ในเวลาเดียวกันทรีย่อยสองอันในระดับเดียวกันของทรีควรมีช่องว่างน้อยที่สุดระหว่างที่เป็นไปได้ ต้นไม้นี้ใช้งานไม่ได้เพราะต้นไม้ย่อย …

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