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

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

19
นี่เป็นหมายเลขที่ต่อเนื่องกันหรือมีค่าคงที่หรือไม่?
เมื่อไม่นานมานี้ฉันได้ดูการแยกตัวประกอบเฉพาะ 27000: 27000 = 2 3 × 3 3 × 5 3 มีสองสิ่งที่พิเศษเกี่ยวกับที่: นายก - ต่อเนื่อง : ช่วงเวลาที่ต่อเนื่องกัน: 2 คือนายก 1, 3 คือนายกที่ 2, 5 คือนายกรัฐมนตรีที่ 3 ค่าคงที่เลขชี้กำลัง : เลขชี้กำลังจะเหมือนกันสำหรับทุก ๆ ช่วงที่สำคัญ (เสมอ 3) แสดงทางคณิตศาสตร์: จำนวนเต็มxเป็นจำนวนนายกต่อเนื่อง / คงที่เลขชี้กำลังหากมีจำนวนเต็มบวกอย่างเคร่งครัดn , k , mซึ่งx = p n m × p n +1 …

15
ลำดับของตัวเลขที่มีอยู่ในตัวเอง
ลองกำหนดตัวเลขที่มีอยู่ในตัวเองเป็นจำนวนเต็มบวกซึ่งตัวเลขจะปรากฏเป็นจำนวนความยาวเท่ากับตัวเองเท่านั้น ในคำอื่น ๆ ใด ๆ ทศนิยมหลักd (ไม่รวม0 ) เกิดขึ้นเฉพาะในการทำงานของความยาวตรงd งาน คุณสามารถเลือกหนึ่งในสามวิธีที่แสดงด้านล่าง: รับจำนวนเต็มnส่งออกตัวเลขที่มีอยู่ในตัวของn th (0 หรือ 1-indexed) รับจำนวนเต็มnส่งออกตัวเลขn ที่มีอยู่ในตัวแรก พิมพ์ลำดับไปเรื่อย ๆ ตัวอย่าง 133322เป็นตัวเลขที่อยู่ในตัวเองเพราะ3ปรากฏขึ้นในระยะสาม3 's, 1คือเดียวและ2เกิดขึ้นในการทำงานของทั้งสอง2 ' s ในทางกลับกัน35553355ไม่ใช่เพราะแม้ว่า5และ3เกิดขึ้นห้าและสามครั้งตามลำดับพวกเขาไม่ได้เรียกใช้ตัวเลขที่อยู่ติดกัน 44422ไม่ได้อยู่ในตัวเองเพราะ4เกิดขึ้นเพียงสามครั้ง 12222333ไม่ได้เป็นอย่างใดอย่างหนึ่งเพราะ2ปรากฏขึ้นในระยะสี่2 's และไม่สามารถจะถือว่าเป็นสองวิ่งแยกจากกันของทั้งสอง2 ' s ไม่น่าแปลกใจนี่คือOEIS A140057และคำศัพท์สองสามคำแรกคือ: 1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, …

22
การตรวจสอบงูสัตว์เลี้ยง ASCII แนวนอน
เมื่อไม่นานมานี้มีสัตว์เลี้ยงงู ASCII สองตัวที่ท้าทาย (เช่นที่นี่ ) 0 0 0 0 0 000 00 0 00 000 0 0 000 0 0 0 00 0 000 ความท้าทายนี้คือการนำงูสัตว์เลี้ยงแนวนอนที่สร้างขึ้นแบบสุ่ม (ความสูงห้าบรรทัดความยาว 30) และตรวจสอบว่า: แต่ละคอลัมน์มีเพียงหนึ่งเดียว 0 แต่ละอัน0จะ "เชื่อมต่อ" กับ0ก่อนและหลัง (เว้นระยะแนวตั้งด้วย 0 หรือ 1 บรรทัดเท่านั้น) ผลลัพธ์สุดท้ายอาจเป็นtrueหรือ1ถ้างูนั้นถูกต้องหรือfalseหรือ0ถ้างูไม่ถูกต้อง แก้ไขชี้แจง ถือว่าอินพุต: เป็นสตริง มีเฉพาะ '', '0' และ '\ n' แต่ละบรรทัดมีอักขระ 30 …

29
เอาท์พุทเส้นทางไบนารีจากจำนวน
สำหรับจำนวนเต็มที่nพอใจn > 0เขียนค่าเป็นเส้นทางจากมากไปหาน้อยขึ้นอยู่กับการเป็นตัวแทนไบนารี กฎระเบียบ บิตชุดแรก (สำคัญที่สุด) จะอยู่ที่มุมซ้ายบนเสมอ เมื่อตั้งค่าบิตถัดไป (a 1) ให้วาดอักขระ ("เติม") บนบรรทัดถัดไปในคอลัมน์เดียวกันกับอักขระก่อนหน้าที่วาด ลองใช้ช่องว่าง ("ว่างเปล่า") เพื่อเติม แต่อักขระใด ๆ ก็ตามที่จะทำตราบใดที่มันยังคงเหมือนเดิม เมื่อบิตถัดไปไม่ได้ถูกตั้งค่า (a 0 ) ให้วาดอักขระ ("เติม") บนบรรทัดเดียวกันทางด้านขวาของอักขระก่อนหน้าที่วาดไว้ทันที รหัสของคุณจะต้องรองรับตัวเลขอย่างน้อย 20 บิตที่สำคัญ เขียนโปรแกรมเต็มฟังก์ชั่นแลมบ์ดา ฯลฯ แต่ไม่มีข้อมูลโค้ด ไม่อนุญาตให้มีช่องว่างนำหน้า (หรือ "ว่าง" ถ่าน) / บรรทัด จำนวนช่องว่างต่อท้ายใด ๆ (หรือ "ช่องว่าง" ถ่าน) / บรรทัดที่อนุญาต ยอมรับอินพุต 1D ทุกชนิด: หมายเลข, สตริง, …
22 code-golf  number 

6
สร้างลำดับเลขจำนวนเต็มสากล
คำนิยาม ลองเรียกลำดับเลขจำนวนเต็ม (อนันต์) ที่เป็นสากลถ้ามันมีลำดับเลขจำนวนเต็มทุกอันเป็นลำดับที่ต่อเนื่องกัน ในคำอื่น ๆ ลำดับจำนวนเต็ม(ก1เป็น2 , ... )เป็นสากลและถ้าหากในแต่ละลำดับจำนวนเต็ม จำกัด(ข1 , ... , ขn )มีการชดเชยkดังกล่าวว่า(กk + 1 ... เป็นk + n ) = (ข1 , ... , ขn ) ยกตัวอย่างเช่นลำดับของจำนวนเฉพาะที่เป็นค่าบวกนั้นไม่ได้อยู่ในกลุ่มเดียวกันด้วยเหตุผลดังต่อไปนี้ ไม่มีจำนวนเต็มลบ1หรือตัวเลขประกอบใด ๆ แม้ว่ามันจะมี3ก็ไม่ได้มี subsequence ที่ต่อเนื่องกัน(3, 3, 3) แม้ว่ามันจะมี2และ5ก็ไม่ได้มี subsequence ที่ต่อเนื่องกัน(2, 5) แม้ว่ามันจะมีต่อเนื่องกัน subsequence (7, 11, 13)ก็ไม่ได้มี subsequence ที่ต่อเนื่องกัน(13, 11, …

7
ส่งออกลำดับ Goodstein ที่ง่ายขึ้น
ตัวเลขจะอยู่ในรูปแบบพื้นฐาน -B ทำให้ Goodstein ง่ายขึ้นหากมันถูกเขียนเป็น b + b + ... + b + c, 0 < c ≤ b ลำดับ Goodstein แบบย่อของตัวเลขเริ่มต้นด้วยการเขียนหมายเลขในแบบฟอร์ม -1 แบบง่าย Goodstein จากนั้นแทนที่ 1 ทั้งหมดด้วย 2 และลบออก 1 เขียนผลการค้นหาในแบบฟอร์ม Goodstein แบบย่อ 2 จากนั้นแทนที่ทั้ง 2 ด้วย 3 และลบ 1 เป็นต้นจนกว่าคุณจะถึง 0 โปรแกรมของคุณคือรับค่าอินพุทและเอาท์พุทจำนวนเต็มบวก / พิมพ์ลำดับ Goodstein และยุติ โปรแกรมของคุณควรจัดการกับตัวเลขน้อยกว่า 100 …

10
ตัวเลขเริ่มต้นที่ต่ำที่สุดในลำดับที่เหมือน Fibonacci
รับอินพุตจำนวนเต็มบวกNส่งออกตัวเลขที่ไม่เป็นลบสองตัวคือaและbโดยที่<bโดยมีค่าเฉลี่ยต่ำที่สุดที่เป็นไปได้ซึ่งจะส่งผลให้ตัวเลขNเป็นส่วนหนึ่งของลำดับความสัมพันธ์ที่เกิดซ้ำ: f(0) = a f(1) = b f(n) = f(n-2)+f(n-1) ในกรณีที่มีมากกว่าหนึ่งในโซลูชั่นที่มีค่าเฉลี่ยของและBมีน้อยแล้วคุณควรเอาท์พุทหนึ่งกับต่ำสุดข คุณสามารถสมมติว่าNอยู่ในช่วงตัวแทนของจำนวนเต็มในภาษา / ระบบของคุณ กรณีทดสอบ N = 1 a = 0, b = 1 N = 15 a = 0, b = 3 N = 21 a = 0, b = 1 N = 27 a = 0, b = …

26
มันเป็นจำนวนที่น่าพอใจ?
ตัวเลขที่น่าพอใจ (ตามคำจำกัดความนี้) คือตัวเลขที่สามารถส่งผ่านกระบวนการต่อไปนี้ (ลองใช้41802000เป็นตัวอย่าง): แยกตัวเลขที่เหมือนกันต่อท้าย ( 41802000 => [41802, 000]) จัดเรียงครึ่งแรกของตัวเลขและรับค่าสูงสุด ( [41802, 000] => [8, 000]) ใช้ความยาวขององค์ประกอบสุดท้าย เรียกองค์ประกอบผลลัพธ์AและB ( [8, 000] => A=8, B=3) N B = A สำหรับจำนวนเต็มใด ๆNหรือไม่? ( Trueในตัวอย่างนี้ 2 3 = 8) หากอินพุตเป็นผลTrueมาจากกระบวนการต่อไปนี้จะถือว่าเป็นที่พอใจ งานของคุณคือการใช้จำนวนเต็มxและเอาท์พุทไม่ว่าxจะเป็นจำนวนที่ชื่นชอบ คุณสามารถแสดงค่าที่แตกต่างกันสองค่าสำหรับความจริงและเท็จ แต่โปรดระบุสิ่งที่คุณใช้ในคำตอบของคุณ xรับประกันว่าจะมีตัวเลขที่แตกต่างอย่างน้อยสองหลัก (เช่น111เป็นอินพุตที่ไม่ถูกต้อง) เช่นเดียวกับความท้าทายส่วนใหญ่คุณอาจใช้xสายอักขระหรือรายการตัวเลข นี่คือรหัสกอล์ฟเพื่อให้รหัสที่สั้นที่สุดในไบต์ชนะ กรณีทดสอบ Input Output 41802000 1 …

24
ตัวอย่างการกระจาย Pareto
การแจกแจงแบบพาเรโตเป็นการแจกแจงความน่าจะเป็นที่เกิดขึ้นตามธรรมชาติ มันมีคุณสมบัติพิเศษมากมายเช่นค่าเฉลี่ยไม่สิ้นสุด ในความท้าทายนี้คุณจะส่งออกจำนวนตัวอย่างจากการกระจายนี้ การแจกแจงแบบพาเรโต้ถูกกำหนดให้มากกว่าหรือเท่ากับxความน่าจะ1/xเป็นสำหรับทั้งหมดที่xมากกว่าหรือเท่ากับ 1 ดังนั้นตัวเลขที่สุ่มตัวอย่างจากการแจกแจงนี้มีค่ามากกว่าหรือเท่ากับ 1 ที่มีความน่าจะเป็น 1 มากกว่าหรือเท่ากับ 2 ที่มีความน่าจะเป็น 1/2 อย่างยิ่งมากกว่าหรือเท่ากับ 3 ที่มีความน่าจะเป็น 1/3 อย่างแท้จริงมากกว่าหรือเท่ากับ 11.4 ด้วยความน่าจะเป็นที่แน่นอน 1 / 11.4 และอื่น ๆ เนื่องจากคุณจะสุ่มตัวอย่างการกระจายตัวนี้โปรแกรมหรือฟังก์ชั่นของคุณจะไม่รับอินพุตและส่งออกตัวเลขสุ่มโดยมีความน่าจะเป็นข้างต้น อย่างไรก็ตามหากโปรแกรมของคุณไม่ตรงกับความน่าจะเป็นข้างต้นอย่างสมบูรณ์เนื่องจากการแสดงผลแบบอิงดัชนี ดูด้านล่างของความท้าทายสำหรับรายละเอียดเพิ่มเติม (สิ่งนี้เรียกว่าการกระจาย Pareto ที่มีอัลฟา 1 และขอบเขตที่ต่ำกว่า 1 เป็นที่แน่นอน) ตัวอย่าง 10 ตัวอย่างต่อไปนี้มาจากการแจกจ่าย: 1.1540029602790338 52.86156818209856 3.003306506971116 1.4875532217142287 1.3604286212876546 57.5263129600285 1.3139866916055676 20.25125817471419 2.8105749663695208 1.1528212409680156 สังเกตว่ามี 5 …

5
Ladybugs สมมาตร
บทนำ: เมื่อเราคิดถึง Ladybugs เรามักจะคิดถึงแมลงสีแดงหรือสีส้มเข้มที่มีจุดด่างดำ แม้ว่าสิ่งนี้ไม่จำเป็นจริงเนื่องจากมีLadybugs ด่างดำสีแดง / ส้มหรือLadybugs ที่ไม่มีจุดเลยเราจึงแสดงภาพ Ladybugs เป็นส่วนใหญ่เช่น Asian Ladybug นี้: อีกสิ่งที่ควรทราบก็คือจุดที่เกี่ยวกับ ladybugs นั้นมักจะสมมาตรอยู่เสมอ และนี่คือที่มาของความท้าทายนี้ ท้าทาย: รับจำนวนเต็มn( >= 0) ส่งออกเต่าทอง ASCII ศิลปะต่อไปนี้หนึ่งครั้งหรือหลายครั้งโดยมีจุดสมมาตรแบ่งเท่า ๆ กันระหว่างทั้งสองด้านเช่นเดียวกับ Ladybugs สองคนขึ้นไป นี่คือเลย์เอาต์ Ladybug เริ่มต้น: _V_ /(@I@)\ / | \ | | | \ | / ''-!-'' หากn=0เราแสดงผลเต่าทองด้านบนตามที่เป็นอยู่ เมื่อnมีขนาดใหญ่กว่าศูนย์เรากรอกในช่องว่างของข้อผิดพลาด ASCII ศิลปะที่มีตัวพิมพ์เล็กoหรือแทนที่ในศูนย์ที่มีทุน| Oเป้าหมายคือทำการnเปลี่ยนแปลง 'เต่าทอง' …

30
จำนวนที่หายไปคืออะไร (หารด้วย 9)
ท้าทาย ให้ตัวเลขทั้งหมดหารด้วย 9 และหนึ่งหลักที่ขาดหายไปหาตัวเลขที่หายไป ตัวเลขที่หายไปอาจแสดงด้วยอักขระอื่นนอกเหนือจากตัวเลข 0-9 ตราบใดที่มีความสอดคล้องกัน หากตัวเลขที่หายไปอาจเป็น 0 หรือ 9 ให้เอาบางสิ่งออกมาเพื่อแสดงว่าเป็นเช่นนั้น สมมติว่าผู้ใช้นั้นฉลาดพอที่จะใส่ตัวเลขหนึ่งหลักที่ขาดหายไปและตัวเลขหนึ่งตัวเท่านั้น กรณีทดสอบ ในกรณีทดสอบตัวเลขที่ขาดหายไปจะถูกแสดงด้วยเครื่องหมายคำถาม 123? -> 3 ?999 -> 0 or 9 ?0023 -> 4 000?1 -> 8

28
เลขชี้กำลังที่ใหญ่ที่สุด
รับจำนวนเต็มn >= 2ส่งออกเลขชี้กำลังที่ใหญ่ที่สุดในการแยกตัวประกอบเฉพาะ นี่คือ OEIS ลำดับA051903 ตัวอย่าง n = 144ให้ 2^4 * 3^2ตัวประกอบที่สำคัญของมันคือ 4ตัวแทนที่ใหญ่ที่สุดคือ กรณีทดสอบ 2 -> 1 3 -> 1 4 -> 2 5 -> 1 6 -> 1 7 -> 1 8 -> 3 9 -> 2 10 -> 1 11 -> 1 12 -> 2 144 -> …

10
สร้างตัวเลขที่เป็นมิตรกับ Numpad
แรงบันดาลใจจากการสร้างแป้นพิมพ์ตัวเลขที่เป็นมิตร พื้นหลัง แผ่นตัวเลขจำนวนมากมีเค้าโครงดังต่อไปนี้: 789 456 123 0 เรากำหนดย่านที่ใกล้เคียงของตัวเลขเป็นชุดของเซลล์ที่อยู่ติดกันแบบตั้งฉากกับจำนวนที่แสดงรวมถึงตัวมันเอง ยกตัวอย่างเช่นเขต 2 เป็นและพื้นที่ใกล้เคียงเป็น{1,5,3,0,2} 0 {1,2,0}มีรายชื่อพื้นที่ใกล้เคียงของแต่ละหมายเลขด้านล่างกรณีทดสอบด้านบน เรากำหนดหมายเลขที่จำง่ายของ numpadเป็นจำนวนเต็มบวกโดยที่เมื่อเขียนเป็นทศนิยมโดยไม่มีเลขศูนย์นำหน้าแต่ละหลักยกเว้นตัวเลขแรกอยู่ในพื้นที่ใกล้เคียงของตัวเลขก่อนหน้า ตัวอย่างเช่น, 7856 เป็นหมายเลขที่เหมาะสำหรับเพื่อนเพราะ 8 อยู่ในพื้นที่ใกล้เคียง 7, 5 อยู่ในเพื่อนบ้าน 8 และ 6 อยู่ในพื้นที่ใกล้เคียง 5 1201 เป็นตัวเลขที่เป็นมิตรกับตัวเลขเนื่องจาก 2 อยู่ในพื้นที่ใกล้เคียง 1, 0 อยู่ในพื้นที่ใกล้เคียง 2 และ 1 อยู่ในพื้นที่ใกล้เคียง 0 82 ไม่ใช่หมายเลขที่เหมาะสำหรับเพื่อนเพราะ 2 ไม่ได้อยู่ในละแวกที่ 8 802 ไม่ใช่ตัวเลขที่เป็นมิตรของตัวเลขเนื่องจาก 0 ไม่อยู่ในพื้นที่ใกล้เคียงที่ 8 …

8
ฉันสมมาตรไม่ใช่ palindromic!
พื้นหลัง แรงบันดาลใจจากฉันเป็นสีขาว คุณเป็น ที่ซึ่งมีการนำเสนอข้อเท็จจริงที่น่าตกใจว่า“ ()()ไม่ใช่ Palindrome แต่())(” ฉันถามตัวเองว่าอะไรคือ()()คำตอบคือ: มันเป็นสตริงที่มีแกนสมมาตรในแนวตั้ง! งาน เขียนโปรแกรมหรือฟังก์ชั่นที่รับสตริง S (หรือเทียบเท่าที่เหมาะสมในภาษาของคุณ) เป็นอินพุตตรวจสอบความสมมาตรตามแกนตั้งและส่งกลับค่าความจริงหรือค่าเท็จตามลำดับ คุณสามารถใช้วิธีการที่สมเหตุสมผลเพื่อรับอินพุตและจัดเตรียมเอาต์พุต สมมาตรสะท้อนแสง การสะท้อนสมมาตรรอบแกนตั้ง (หรือสมมาตรซ้ายขวา) หมายความว่าหากคุณวางกระจกในแนวตั้งตรงกึ่งกลางของสตริงภาพสะท้อนของครึ่งแรกของสตริงจะเหมือนกับครึ่งหลังของสตริง ตัวอย่างเช่นสตริงต่อไปนี้เป็นสมมาตรการสะท้อนรอบแกนตั้ง: ()() ()()() [A + A] WOW ! WOW OH-AH_wx'xw_HA-HO (<<[[[T*T]]]>>) (:) )-( ())(() qpqp ในขณะที่ต่อไปนี้ไม่: ())( ((B)) 11 +-*+- WOW ! wow (;) qppq กฎของการแข่งขัน •โปรแกรมหรือฟังก์ชั่นของคุณจะได้รับเฉพาะอักขระ ASCII ที่พิมพ์ได้ คุณสามารถรวมหรือไม่ใช้สตริงว่าง (ซึ่งเป็นสมมาตรแน่นอน!) …
22 code-golf  string 

22
โมดูลผกผันการคูณแบบแยกส่วน
งานของคุณคือกำหนดตัวเลขจำนวนเต็มสองจำนวนaและbคำนวณค่าผกผันการคูณแบบแยกส่วนของโมดูโล b หากมีอยู่ ผกผันแบบแยกส่วนของaโมดูโลbเป็นจำนวนดังกล่าวว่าc ac ≡ 1 (mod b)หมายเลขนี้เป็นโมดูโลที่ไม่ซ้ำกันbสำหรับคู่ใด ๆและa bมันมีอยู่เฉพาะในกรณีที่ตัวหารร่วมมากของaและเป็นb1 หน้าวิกิพีเดียสำหรับผกผัน modular สามารถปรึกษาถ้าคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อ อินพุตและเอาต์พุต อินพุตถูกกำหนดเป็นทั้งสองจำนวนเต็มหรือรายการของสองจำนวนเต็ม โปรแกรมของคุณควรส่งออกหมายเลขเดียวอินเวอร์สมัลติคูณแบบแยกส่วนที่อยู่ในช่วงเวลา0 < c < bหรือค่าที่ระบุว่าไม่มีอินเวอร์ส ค่าสามารถเป็นอะไรก็ได้ยกเว้นตัวเลขในช่วง(0,b)และอาจเป็นข้อยกเว้น อย่างไรก็ตามค่าควรจะเหมือนกันสำหรับกรณีที่ไม่มีค่าผกผัน 0 < a < b สามารถสันนิษฐานได้ กฎระเบียบ โปรแกรมควรเสร็จในบางจุดและควรแก้แต่ละกรณีทดสอบในเวลาน้อยกว่า 60 วินาที ช่องโหว่มาตรฐานใช้ กรณีทดสอบ กรณีทดสอบด้านล่างมีให้ในรูปแบบ a, b -> output 1, 2 -> 1 3, 6 -> Does not exist …

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