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

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

30
ตัวเลขใหญ่: Ultrafactorials
คำถามนี้ถูกทำใหม่แล้วโปรดอ่านใหม่ Ultrafactorials Ultrafactorials เป็นลำดับของตัวเลขที่สามารถสร้างขึ้นได้โดยใช้ฟังก์ชั่นต่อไปนี้: a(n) = n! ^ n! ค่าที่ได้นั้นเพิ่มขึ้นอย่างรวดเร็วมาก หมายเหตุด้านข้าง: นี่คือรายการA046882ใน OEIS ที่เกี่ยวข้องก็คือไฮเปอร์แฟคเทอเรนส์ซึ่งยังคงมีขนาดใหญ่มาก แต่มีลำดับน้อยกว่าเล็กน้อย: A002109 งานของคุณ งานของคุณคือการใช้ตัวเลขเหล่านี้เป็นภาษาของคุณ โปรแกรมของคุณจะคำนวณผลรวมของ ultrafactorials ทั้งหมดตั้งแต่ 0 ถึงรวม n อินพุต โปรแกรมของคุณอาจรับเพียงหนึ่งอินพุต: ตัวเลขซึ่งมีลักษณะคล้ายกับ (n) ultrafactorial ขั้นสุดท้ายที่จะเพิ่มลงในผลรวม อินพุตมั่นใจได้ว่าจะเป็นค่าบวกหรือ 0 เอาท์พุต ผลลัพธ์ของคุณขึ้นอยู่กับคุณตราบใดที่มีผลรวมของตัวเลขที่ปรากฏ กฎระเบียบ คุณสามารถสมมติว่าจำนวนเต็มทั้งหมดดังนั้นป้อนจำนวนเต็มและใช้การนับลูปนับจำนวนเต็มเพื่อสร้างผลลัพธ์บางอย่าง กรณีทดสอบ Input: -1 Output: Any kind of error (because -1! is undefined), or no …

30
จำนวนหลักแฟคทอเรียล
ความท้าทายคือการคำนวณผลรวมหลักของแฟคทอเรียลของตัวเลข ตัวอย่าง Input: 10 Output: 27 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800 และผลรวมของตัวเลขในหมายเลข 10! คือ 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27 คุณสามารถคาดหวังว่าอินพุตเป็นจำนวนเต็มมากกว่า 0 เอาต์พุตสามารถเป็นประเภทใดก็ได้ แต่คำตอบควรอยู่ในฐานมาตรฐานของภาษาการเข้ารหัส กรณีทดสอบ: 10 27 19 45 469 4140 …

9
HexaGolf: Wordagons
ดูเพิ่มเติม: Rotatagons ท้าทาย รับสตริงเป็นอินพุตเอาต์พุต wordagon Wordagons รูปหกเหลี่ยมเป็นวิธีการแสดงสตริงในรูปหกเหลี่ยม ตอนนี้เรามาสร้าง wordagon จาก string hexa: ประการแรกคุณเริ่มต้นด้วยอักขระตัวแรกในสตริงที่วางไว้ตรงกลาง: h จากนั้นคุณใช้อักขระตัวถัดไปในสตริงและเพิ่มเลเยอร์หกเหลี่ยม: e e e h e e e จากนั้นเพิ่มเลเยอร์ถัดไป: x x x x e e x x e h e x x e e x x x x ในที่สุดเพิ่มเลเยอร์สุดท้าย: a a a a a x x …

30
ได้เวลาท้าทายนาฬิกาแล้ว!
ฉันต้องการให้คุณสร้างนาฬิกาที่แสดงเวลาในรูปแบบนี้: 18 ---------- 19 -------------------------------------------------- แสดง '18: 10 ' ชั่วโมงปัจจุบันและชั่วโมงถัดไปจะปรากฏขึ้นที่ด้านหน้าของบรรทัดตามด้วยช่องว่างและจำนวนขีดกลาง: ในบรรทัดแรกจำนวนนาทีที่ผ่านไปในชั่วโมงนี้และบรรทัดที่สองแสดงจำนวนนาทีที่มากขึ้น ที่จะไปในชั่วโมงนี้ เพื่อชี้แจง นาฬิกาควรแสดงเวลาของระบบ หากการดึงเวลาจากแหล่งอื่นสะดวกกว่าก็ทำได้เช่นกัน มันอาจจะไม่ได้จะมาเป็น input ที่18:00บรรทัดบนสุดเป็นเพียง18(อนุญาตให้ใช้ช่องว่างต่อท้าย แต่ไม่จำเป็น) ที่18:59บรรทัดล่างคือ19 - ชั่วโมง <10 มีการบุด้วยล่วงหน้า0( 01 -----) หรือจัดชิดขวา ( 1 -----) ไม่อนุญาตให้ใช้ตัวเลขหลักเดียวชิดซ้ายแม้ว่าเครื่องหมายขีดกลางจะเริ่มต้นที่ถูกต้อง ( 1 -----ไม่ถูกต้อง) นาฬิกาควรแสดงชั่วโมงในรูปแบบ 24 ชั่วโมง แม้ว่ามันจะเรียกว่ารูปแบบ 24 ชั่วโมง แต่จริงๆแล้ว24มันไม่ได้อยู่ในนั้น ในช่วงชั่วโมง 23 บรรทัดที่สองเริ่มต้นด้วยหรือ00 0 จอแสดงผลจำเป็นต้องได้รับการอัพเดตอย่างน้อยหนึ่งครั้งต่อนาที แต่ไม่จำเป็นต้องเกิดขึ้นใน00เวลาไม่กี่วินาที คุณสามารถอัปเดตบ่อยครั้ง / อย่างต่อเนื่องหากสะดวกกว่า …

24
คำนวณลำดับของจิงโจ้
backstory คำเตือน: อาจมีข้อมูลเกี่ยวกับจิงโจ้ จิงโจ้สำรวจหลายขั้นตอนของการพัฒนา เมื่อพวกเขาโตขึ้นและแข็งแรงขึ้นพวกเขาสามารถกระโดดได้สูงขึ้นเรื่อย ๆ และสามารถกระโดดได้มากขึ้นก่อนที่พวกเขาจะหิว ในระยะที่1จิงโจ้น้อยมากและไม่สามารถกระโดดได้เลย อย่างไรก็ตามเรื่องนี้ยังคงต้องการการบำรุงอย่างต่อเนื่อง เราสามารถแสดงรูปแบบกิจกรรมของจิงโจ้ในระยะที่1เช่นนี้ o ในระยะที่2จิงโจ้สามารถกระโดดได้เล็กน้อย แต่ไม่เกิน2ก่อนที่มันจะหิว เราสามารถแสดงรูปแบบกิจกรรมของจิงโจ้ในระยะที่2เช่นนี้ o o o o o หลังจากระยะที่2จิงโจ้ก็จะดีขึ้นอย่างรวดเร็ว ในแต่ละขั้นตอนต่อมาจิงโจ้สามารถกระโดดได้สูงขึ้นเล็กน้อย (1 หน่วยในการแสดงกราฟิก) และเพิ่มขึ้นสองเท่าหลายเท่า ตัวอย่างเช่นรูปแบบกิจกรรมของจิงโจ้ระยะที่3มีลักษณะเช่นนี้ o o o o o o o o o o o o o o o o o การกระโดดทั้งหมดนั้นต้องใช้พลังงานดังนั้นจิงโจ้จึงต้องการการบำรุงหลังจากทำกิจกรรมแต่ละแบบเสร็จสิ้น จำนวนที่แน่นอนสามารถคำนวณได้ดังนี้ กำหนดแต่ละoในรูปแบบกิจกรรมของสเตจnจิงโจ้ซึ่งความสูงของมันคือตัวเลขจาก1ถึงnโดยที่1สอดคล้องกับพื้นดินและnไปยังตำแหน่งสูงสุด คำนวณผลรวมของความสูงทั้งหมดในรูปแบบกิจกรรม ตัวอย่างเช่นรูปแบบกิจกรรมของจิงโจ้ระยะที่3มีความสูงดังต่อไปนี้ 3 3 3 …

8
หลักการการเปลี่ยนแปลงของ Pigeon-hole
ในเกมซูโดกุผู้เล่นหลายคนชอบที่จะ "จับ" ตัวเลขที่เป็นไปได้ที่สามารถไปในแต่ละตาราง: แถวด้านบนสามารถแสดงเป็นอาร์เรย์ได้: [[1,2,9], [6], [5], [7], [1,2,9], [1,2,9], [3], [1,2,4], [8]] ตอนนี้สังเกตเห็นว่ามีเพียง 1 แห่งที่4สามารถไปได้ สิ่งนี้ช่วยให้เราลดความซับซ้อนของรายการด้านบนเพื่อ [[1,2,9], [6], [5], [7], [1,2,9], [1,2,9], [3], [4], [8]] เป้าหมายของการท้าทายนี้คือการใช้รายการของตัวเลขที่เป็นไปได้ในการเปลี่ยนแปลงและได้ข้อสรุปที่เป็นไปได้ที่จะถูกกำจัด เป็นอีกตัวอย่างหนึ่งสมมติว่าคุณมีความเป็นไปได้หลายอย่างดังต่อไปนี้: [[0,1,3], [0,2,3], [1,2], [1,2]] สองสถานที่สุดท้ายจะต้องเต็มไปด้วย 1 และ 2 ดังนั้นเราสามารถลบความเป็นไปได้เหล่านั้นออกจากสององค์ประกอบแรกในอาร์เรย์: [[0,3], [0,3], [1,2], [1,2]] เป็นอีกตัวอย่าง: [[0,1,2,3], [0,2], [0,2], [0,2]] มันเป็นไปไม่ได้ที่จะสร้างการเปลี่ยนแปลงจากความเป็นไปได้ดังกล่าวข้างต้นเป็นมีเพียง 1 สถานที่สำหรับทั้งสอง1และ3และคุณจะต้องการที่จะกลับอาร์เรย์ที่ว่างเปล่า คุณต้องป้อนรายการความเป็นไปได้และส่งออกความเป็นไปได้ที่เหลืออยู่หลังจากกำจัดจำนวนความเป็นไปได้สูงสุดแล้ว …

8
ตีกอล์ฟด้วยสกอร์
เมื่อตอนเป็นเด็กฉันเคยเล่นเกมไพ่" กอล์ฟ "บ่อยครั้ง ความท้าทายของคุณถ้าคุณเลือกที่จะยอมรับมันคือการคำนวณคะแนนของมือกอล์ฟ เนื่องจากมีมากกว่า 9000 รูปแบบในเกมการ์ดใบนี้1เราจะไปตามกฎที่ฉันจำได้ว่าเล่น กฎ (ของเกม) คุณจบรอบด้วยไพ่ 6 ใบและคุณต้องการแต้มน้อยที่สุด ไม่ใช้โจ๊กเกอร์ Aces และ 2s มีค่า -1, และ -2 คะแนนตามลำดับ แจ็คและราชาทั้งคู่มีค่า 0 คะแนน ไพ่จาก 3 ถึง 10 เป็นมูลค่าที่คุ้มค่า อย่างไรก็ตามสิ่งเหล่านี้จะถูกยกเลิกเมื่อคุณจับคู่ออก ตัวอย่างเช่น 5 มีค่า 5 คะแนน แต่ 5s สองตัวมีค่าเป็นศูนย์ 5 วินาทีมีค่า 5 คะแนน (ตั้งแต่ 2 คู่แรกถูกจับคู่ออก แต่ไม่ได้เป็นอันดับ 3) และ 5 วินาทีสี่มีค่าเป็น …

17
มหาปิรามิดแห่ง ASCII
บทนำ ตอนนี้ 2,600 ปีก่อนคริสตกาลและผู้คนกำลังสร้างปิรามิดตอนนี้ พวกเขาสร้างพื้นฐานของปิรามิดแล้ว แต่ไม่รู้วิธีดำเนินการต่อ ดังนั้นพวกเขาจึงโทรหาคุณเพื่อขอความช่วยเหลือ กฎของการสร้างพีระมิดค่อนข้างง่าย สำหรับเลเยอร์เหนือเลเยอร์ก่อนหน้าสิ่งที่คุณต้องทำคือทำตามคำแนะนำทีละขั้นตอนนี้: ตัดขอบออกจากเลเยอร์ก่อนหน้า เหนือ/ตัวละครจะต้องมี\ตัวละครและในทางกลับกัน สิ่งนี้ใช้ได้กับทุกตัวละครยกเว้นขอบ อักขระซ้ายสุดอยู่เสมอและตัวอักษรขวาสุดอยู่เสมอ/\ ลองมาเป็นตัวอย่างของพื้นฐานสำหรับปิรามิด: //\/\/\\ เราตัดขอบทิ้ง: /\/\/\ เราเปลี่ยนสแลชไปข้างหน้าด้วยแบ็กสแลชและในทางกลับกัน: \/\/\/ ตัวละครทางซ้ายสุดจะเป็นเสมอ/และตัวละครที่อยู่ด้านขวาสุดจะเป็นเสมอ\ดังนั้นเราจึงเปลี่ยน: //\/\\ เราวางเลเยอร์นี้ในเลเยอร์ก่อนหน้า: //\/\\ //\/\/\\ เราดำเนินต่อไปจนกว่าจะถึงด้านบน (ซึ่งดูเหมือน/\) ดังนั้นในที่สุดเราก็ได้: /\ //\\ //\/\\ //\/\/\\ นี่คือสิ่งที่คุณต้องการส่งออก งาน ให้พื้นฐานของพีระมิด (ที่มีความยาวมากกว่า 3) ส่งออกพีระมิดเต็ม คุณสามารถคิดว่าตัวละครซ้ายสุดเป็นและตัวละครขวาสุดเป็น/ \นอกจากนี้คุณยังสามารถสรุปได้ว่าความยาวของพื้นฐานอยู่เสมอแม้กระทั่ง อนุญาตให้ใช้ช่องว่างต่อท้ายได้ อนุญาตให้ใช้พื้นที่ชั้นนำได้ตราบใดที่ปิรามิดยังคงอยู่ การใช้ 1 ต่อท้ายและ 1 นำขึ้นบรรทัดใหม่ที่ได้รับอนุญาต กรณีทดสอบ Input: /\\\ Output: …

15
Transpile WordMath
เราทุกคนเห็น "maths hax" ออนไลน์ที่มีลักษณะเช่นนี้: Think of a number, divide by 2, multiply by 0, add 8. และด้วยเวทมนตร์ทุกคนก็จบลงด้วยหมายเลข 8! ภาษา ลองกำหนดภาษาการเขียนโปรแกรมที่ใช้ไวยากรณ์ของข้อความด้านบนเรียกว่า "WordMath" สคริปต์ WordMath ปฏิบัติตามแม่แบบนี้: Think of a number, <commandlist>. ซึ่งโดยทั่วไปหมายถึง: ใช้ตัวเลข (เป็นอินพุตจาก STDIN) เป็นตัวสะสมเริ่มต้นดำเนินการคำสั่งทั้งหมดที่อยู่บนมันและออกผลลัพธ์ คำสั่งถูกคั่นด้วยตัวคั่น,(เครื่องหมายจุลภาค + ช่องว่าง) คำสั่งที่ถูกต้องคือ(หมายเหตุที่#แสดงถึงจำนวนเต็มที่ไม่เป็นลบ :) : add #/ subtract #- เพิ่ม / ลบค่าจากตัวสะสม divide by #/ …

22
การตรวจสอบการ padding PKCS # 7
ในวิทยาการเข้ารหัสลับการหุ้ม PKCS # 7เป็นโครงร่างการขยายซึ่งเพิ่มจำนวนไบต์ N ≥ 1 โดยที่ค่าของแต่ละไบต์ที่เพิ่มมีค่าเท่ากับ N ตัวอย่างเช่นHello, World!ซึ่งมี 13 ไบต์มีดังต่อไปนี้ในฐานสิบหก: 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 ถ้าเราเลือกที่จะ PKCS # 7 ความยาว 16 แผ่นผลที่ได้คือ: 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 03 03 03 และถ้าเราเลือกที่จะยาวถึง …

18
แปลงเป็น Bibi-binary
Bibi-binary เป็นระบบตัวเลขที่คิดค้นโดยBoby Lapointeเพื่อเป็นตัวแทนของตัวเลขในตัวอักษรซึ่งการออกเสียงดูเหมือนเป็นเรื่องตลก งานของคุณคือการแปลงตัวเลขทศนิยมให้เป็น Bibi-binary! การแปลง ตัวเลขจะถูกแปลงเป็นฐาน 16 (เลขฐานสิบหก) และอักขระแต่ละตัวจะถูกแทนที่ด้วยชื่อ Bibi-binary: 0 = HO 1 = HA 2 = HE 3 = HI 4 = BO 5 = BA 6 = BE 7 = BI 8 = KO 9 = KA A = KE B = KI C = DO …

30
ลำดับ Hofstadter Q
คำนิยาม a (1) = 1 a (2) = 1 a (n) = a (na (n-1)) + a (na (n-2)) สำหรับ n> 2 โดยที่ n เป็นจำนวนเต็ม งาน ได้รับจำนวนเต็มบวกสร้างna(n) Testcases n a(n) 1 1 2 1 3 2 4 3 5 3 6 4 7 5 8 5 9 6 10 6 …

28
#Hashtag_or_not
ในการแข่งขันกอล์ฟรหัสนี้คุณจะตรวจสอบแฮชแท็ก! #What_your_code_should_do อินพุตเป็นสตริง เอาท์พุทค่าความจริงถ้ามันเป็นแฮชแท็กที่ถูกต้องและค่าเท็จอื่น ๆ เรากำหนดสตริงเป็น Hashtag ที่ถูกต้องหาก ... มันเริ่มต้นด้วยแฮช ( #) ไม่มีหมายเลขหลังแฮชแท็ก (เช่นแฮชแท็ก#2016USElectionไม่ถูกต้อง) ไม่มี "อักขระพิเศษ" (เช่นอักขระใด ๆ ที่ไม่ใช่ตัวอักษรขีดล่าง ( _) หรือตัวเลข) คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นมีอักขระ ASCII เท่านั้น (มันคงจะไม่ยุติธรรมถ้าเราทำ Unicode ด้วย) #rules บังคับใช้กฎพื้นฐานของการเล่นกอล์ฟ #ตัวอย่าง Truthy: # #e #_ABC #thisisanunexpectedlylongstringxoxoxoxo #USElection2016 Falsy: Hello, World! #12thBday #not-valid #alsoNotValid! #!not_a_hash

17
Vandermonde ตัวกำหนด
ให้เวกเตอร์ของnค่า(x1,x2,x3,...,xn)ส่งคืนดีเทอร์มิแนนต์ของเมทริกซ์ Vandermonde ที่เกี่ยวข้อง ดีเทอร์มิแนนต์นี้สามารถเขียนเป็น: รายละเอียด โปรแกรม / ฟังก์ชั่นของคุณต้องยอมรับรายการหมายเลขจุดลอยตัวในรูปแบบที่สะดวกใด ๆ ที่อนุญาตให้มีความยาวผันแปรและส่งออกปัจจัยที่กำหนด คุณสามารถสมมติว่าอินพุตรวมทั้งเอาต์พุตอยู่ในช่วงของค่าที่ภาษาของคุณรองรับ หากภาษาของคุณไม่รองรับหมายเลขทศนิยมคุณอาจถือว่าเป็นจำนวนเต็ม บางกรณีทดสอบ โปรดทราบว่าเมื่อใดก็ตามที่มีสองรายการเท่ากันดีเทอร์มิแนนต์จะเป็น0เนื่องจากมีสองแถวเท่ากันในเมทริกซ์ Vandermonde ที่เกี่ยวข้อง ขอบคุณ @randomra สำหรับการชี้ให้เห็น testcase ที่ขาดหายไปนี้ [1,2,2,3] 0 [-13513] 1 [1,2] 1 [2,1] -1 [1,2,3] 2 [3,2,1] -2 [1,2,3,4] 12 [1,2,3,4,5] 288 [1,2,4] 6 [1,2,4,8] 1008 [1,2,4,8,16] 20321280 [0, .1, .2,...,1] 6.6586e-028 [1, .5, .25, …

10
ตีกลับในอาร์เรย์
บทนำ อาร์เรย์ยังสามารถมองเห็นเป็นสนามสำหรับลูกบอลกระดอน แน่นอนว่ามันฟังดูคลุมเครือดังนั้นนี่คือตัวอย่างของอินพุต: [1, 2, 3, 4, 5, 6, 7, 8, 9] [9, 8, 7, 6, 5, 4, 3, 2, 1] [1, 2, 3, 4, 5, 6, 7, 8, 9] ความท้าทายคือการส่งออกอาร์เรย์เด้ง สิ่งเหล่านี้ทำจากลวดลายเส้นทแยงมุมที่กระดอนที่ขอบสนาม เส้นทางนี้เป็นแหลมขึ้น เส้นทางสำหรับอาร์เรย์ที่เด้งแรก (ซึ่งเส้นทางนั้นถูกเด้งออกโดยตรงจาก egde) คือ: [1, -, -, -, 5, -, -, -, 9] [-, 8, -, 6, …

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