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

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

15
ฉันชื่ออะไร?
ระบุรหัสผู้ใช้ PPCG ให้แสดงชื่อผู้ใช้ปัจจุบันของผู้ใช้ ตัวอย่าง Input -> Output 61563 -> MD XF 2 -> Geoff Dalgas 12012 -> Dennis foo -> -3 -> กฎระเบียบ อินพุต / เอาต์พุตสามารถดำเนินการผ่านวิธีการที่อนุญาต ผลลัพธ์จะต้องเป็นชื่อผู้ใช้เต็มรูปแบบที่มีตัวพิมพ์ใหญ่และการเว้นวรรคที่เหมาะสมไม่มีอะไรมากและไม่น้อยไปกว่านี้ หากอินพุตไม่ใช่ ID ผู้ใช้ที่ถูกต้องหรือผู้ใช้ไม่มีอยู่โปรแกรมของคุณจะไม่แสดงผลอะไรหรือแสดงข้อผิดพลาด โปรแกรมของคุณจะต้องใช้งานได้สำหรับผู้ใช้ที่ถูกต้องแม้กระทั่งผู้ที่สร้างขึ้นหลังจากการท้าทายนี้ โปรแกรมของคุณไม่จำเป็นต้องทำงานให้กับผู้ใช้ชุมชน โปรแกรมของคุณไม่จำเป็นต้องทำงานกับผู้ใช้ที่ถูกลบ ตัวย่อ URL ไม่ได้รับอนุญาต เกณฑ์การให้คะแนน รหัสสั้นที่สุดในแต่ละภาษาชนะ

4
จำนวนสูงสุดของสตริงย่อยที่แตกต่างกัน
ลักษณะ เมื่อกำหนดความยาวnและขนาดตัวอักษรk>0โปรแกรมของคุณจะต้องกำหนดจำนวนสตริงด้วยพารามิเตอร์เหล่านั้นซึ่งมีจำนวนสตริงย่อยสูงสุด ในกรณีของการk=2นี้สร้าง OEIS A134457 ตัวอย่าง ตัวอย่างเช่น2210มีสตริง , 2, 22, 221, 2210, 2, 21, 210, 1, 10และ0รวม 11 แต่2ปรากฏขึ้นเป็นครั้งที่สองจึงมีเพียง 10 สตริงที่ไม่ซ้ำกัน นี่คือมากที่สุดเท่าที่เป็นไปได้สำหรับสตริงความยาว 4 มี 3 สัญลักษณ์ที่แตกต่างกัน แต่ความสัมพันธ์กับ 35 สายอื่น ๆ รวมเป็น 36 สาย tieing รวมทั้ง0012, และ2101 0121ดังนั้นสำหรับn=4และk=3โปรแกรมของคุณควรส่งออก 36 กรณีทดสอบ n k output 0 5 1 1 3 3 5 1 …

3
ค้นหาตัวเลขที่สร้างจำนวนเต็ม mod q
พิจารณาจำนวนเต็มแบบโมดูโลqที่qเป็นนายกกำเนิดเป็นจำนวนเต็มใด ๆ1 < x < qเพื่อให้x^1, x^2, ..., x^(q-1)ครอบคลุมทั้งหมดq-1ของจำนวนเต็มระหว่างและ1 q-1ตัวอย่างเช่นพิจารณาจำนวนเต็มโมดูโล 7 (ซึ่งเราเขียนเป็นZ_7) จากนั้น3, 3^2 mod 7 = 2, 3^3 = 27 mod 7 = 6, 3^4 = 81 mod 7 = 4, 3^5 = 243 mod 7 = 5, 3^6 = 729 mod 7 = 1ครอบคลุมค่า3, 2, 6, 4, 5, …

11
สร้างผู้อนุญาต
สำหรับความท้าทายนี้คุณจะต้องสร้างฟังก์ชั่น (ฟังก์ชั่นของคุณอาจเป็นโปรแกรมที่สมบูรณ์) ที่รับรายการเป็นอินพุตและส่งกลับค่าการเรียงสับเปลี่ยนของรายการนั้น ฟังก์ชั่นของคุณจะต้องปฏิบัติตามข้อกำหนดดังต่อไปนี้ มันจะต้องกำหนดขึ้น การเขียนฟังก์ชั่นของคุณด้วยตัวเองจำนวนครั้งของตัวแปรควรจะสามารถรับรายการจากการเรียงลำดับใด ๆ นี่เป็นคำถามเกี่ยวกับรหัสกอล์ฟดังนั้นคำตอบจะได้คะแนนเป็นไบต์โดยไบต์น้อยจะดีขึ้น กฎเพิ่มเติม คุณอาจจะใช้วิธีใดรายการ ( [Integer], [String], [[Integer]]) ตราบใดที่มัน ต้องไม่ว่างเปล่า สามารถมีวัตถุที่แตกต่างอย่างน้อย 16 ค่าที่เป็นไปได้ (คุณไม่สามารถใช้ Haskell [()]และอ้างสิทธิ์การทำงานของคุณได้id) สามารถมีวัตถุที่ซ้ำกัน (ไม่มีชุด) คุณอาจเขียนโปรแกรมหรือฟังก์ชั่น แต่ต้องเชื่อฟังมาตรฐาน IO

5
การเพิ่มพาร์ติชัน Goldbach
การคาดคะเนของ Goldbach ระบุว่า: ทุกเลขคู่ที่มากกว่า 2 คือผลรวมของสองช่วง เราจะพิจารณาพาร์ทิชัน Goldbach ของจำนวนnจะเป็นคู่ของทั้งสองช่วงเวลาการเพิ่มn เรามีความกังวลกับตัวเลขคือการเพิ่มขึ้นของพาร์ทิชัน Goldbach เราทำการวัดขนาดของพาร์ติชั่น Goldbach ของตัวเลขด้วยขนาดของไพรม์ที่เล็กที่สุดในพาร์ติชันของตัวเลขนั้นทั้งหมด จำนวนคือการเพิ่มพาร์ติชันถ้าขนาดนี้มากกว่าขนาดของตัวเลขที่เล็กกว่าทั้งหมด งาน รับจำนวนเต็มคู่n> 2พิจารณาว่าnเป็นการเพิ่มพาร์ติชัน Goldbach และส่งออกค่าที่ไม่ซ้ำกันสองค่าหนึ่งค่าถ้าเป็นและหนึ่งค่าหากไม่ได้ นี่คือ รหัสกอล์ฟดังนั้นคุณควรตั้งเป้าหมายที่จะลดจำนวนไบต์ลงในซอร์สโค้ดของคุณ OEIS A025018

6
การพิมพ์กากบาดของสองสาย
รับชุดของสองสายรับประกันเป็นระยะเวลาเดียวกันให้พิมพ์ของพวกเขาข้ามกาก ข้ามกากของสองสายจะได้รับดังต่อไปนี้ ให้อักขระตัวที่สองของสตริงที่สองจากนั้นอักขระตัวแรกของสตริงแรก ให้ผลอักขระแรกของสตริงที่สองจากนั้นอักขระที่สองของสตริงแรก ละทิ้งอักขระตัวแรกของแต่ละสตริง หากสตริงมีอักขระมากกว่าหนึ่งตัวให้กลับไปที่ขั้นตอนที่ 1 ตัวอย่างเช่นถ้าทั้งสองสายเป็น Truck Tower ข้ามกากคือ oTTrwroueuwcrcek ดังแสดงในแผนภาพต่อไปนี้ แต่ละสีแสดงถึงการวนซ้ำที่แตกต่างกัน ตัวเลขแสดงดัชนีของตัวละครที่เกี่ยวข้องในการส่งออก

8
คุณชอบเทควันโดไหม?
Choi Hong Hiเสียชีวิตในวันที่ 15 มิถุนายน 2002 ในวัย 83 เกียรติเขาก่อตั้งเทควันโด 15 ปีหลังจากการตายของเขาฉันอยากเป็นอาจารย์เทควันโด นี่เป็นเวลาของฉันที่จะเปล่งประกาย! งาน รับสตริงคุณควรส่งออกเวอร์ชันเทควันโด กฎระเบียบ คุณจะได้รับสตริง / ประโยคที่ไม่ว่างเปล่าโดยอินพุตที่ถูกต้องใด ๆ คุณต้องแทนที่แต่ละชื่อเรื่อง (ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) โดยเทียบเท่าการแปลแบบโรมัน คุณต้องเพิ่ม, *side kick*ตอนท้ายของประโยคเพราะฉันชอบที่จะเตะด้านข้าง คุณต้องแสดงผลประโยคที่เปลี่ยนแปลงนี้เป็นสตริง นี่คือ รหัสกอล์ฟ คุณควรตั้งเป้าหมายที่จะลดจำนวนคำตอบให้เหลือน้อยที่สุด ตัวอย่าง "I am a Student and I do Taekwondo twice a week" => "I am a Geup and I do Taekwondo …

16
แปลงค่า CMYK เป็น RGB
กำหนดรหัสสีใน CMYK ให้แปลงเป็นค่า RGB อินพุต: สตริงจำนวนเต็ม 4 จำนวน (ตั้งแต่ 0-100) คั่นด้วยช่องว่าง 86 86 0 43 28 14 0 6 0 41 73 4 เอาท์พุท: #141592 #ABCDEF #F49043 รหัสที่สั้นที่สุดชนะ! คำแนะนำ:สำหรับการแปลง CMYK เป็น RGB คุณสามารถใช้สูตรเช่น: Red = 255 x (1 - Cyan/100) x (1 - Black/100) Green = 255 x (1 - …

5
ฉันส่งข้อความคำสั่งผสมที่ถูกต้องของคนและศูนย์
ฉันเพิ่งจะเข้าร่วมในเพลงฉันเป็น Textpertเกี่ยวกับการส่งข้อความขณะขับรถและอีกหนึ่งบรรทัดในเพลงเป็นแรงบันดาลใจให้กับความท้าทายนี้ ฉันไม่เคยก้มหัวให้ต่ำกับรูปถ่ายข้อความ / แต่ฉันส่งข้อความคอมโบที่ถูกต้องของคนและศูนย์ ตอนนี้เห็นได้ชัดว่านี่เป็นสิ่งที่แทบเป็นไปไม่ได้เลยที่คุณจะทำในสิ่งเดียวกันดังนั้นคุณควรช่วย textperts ทั่วโลกโดยการเขียนโปรแกรมเพื่อทำสิ่งเดียวกัน งานของคุณคือใช้ชื่อไฟล์ภาพที่มีขนาด500x500พิกเซลและส่งออกไฟล์เป็นไบนารี นอกจากนี้คุณยังสามารถถ่ายรูปเป็นอินพุตได้หากภาษาของคุณรองรับ คุณสามารถใช้ไฟล์ภาพที่มีนามสกุล .jpg .png .gif .bmp .svg อนุญาตให้ฉันสาธิตวิธีแปลงรูปภาพให้เป็นไบนารีสำหรับผู้ที่ไม่เข้าใจในสิ่งที่ฉันหมายถึง ขั้นตอนที่ 1 ใช้พิกเซลแรกในไฟล์และดึงค่า RGB เป็นเลขทศนิยม 3 ตัว: R, G และ B สมมติว่าตัวอย่างเช่นพิกเซลแรกคือ255,0,0(สีแดง) ขั้นตอนที่ 2 แปลงตัวเลขแต่ละตัวให้เป็นตัวแทนไบนารี 8 บิตและต่อเชื่อมเป็นตัวเลข 24 บิตเดียว สำหรับตัวอย่างผลตอบแทนนี้111111110000000000000000 ขั้นตอนที่ 3 เพิ่มหมายเลข 24 บิตนี้ไปยังเอาต์พุตสุดท้าย ดังนั้นผลลัพธ์สุดท้ายควรเป็น6000000ตัวเลขที่ยาวและควรประกอบด้วยทั้งหมด1และ0 มันคือ รหัสกอล์ฟ รหัสที่สั้นที่สุดชนะ!

1
สร้างภาษาและการใช้งานที่คล้ายกับมิวเรียล
คุณยายมิวเรียลเป็นภาษาที่วิธีเดียวในการวนลูปคือการสร้างควินินและดำเนินการ งานของคุณคือสร้างภาษาของคุณเองด้วยคุณสมบัตินี้และนำไปใช้งานในภาษาที่มีอยู่แล้ว เราจะกำหนดภาษาที่คล้ายกับมิวเรียลดังนี้: แต่ก็มีในตัวคำสั่งสำหรับการดำเนินการรหัสในภาษาของตัวเองคล้ายกับมิวเรียลของคำสั่งหรือการหลาม@exec ทัวริงเสร็จสมบูรณ์ หากคุณลบคำสั่งการเรียกใช้งานในตัวคำสั่งนั้นจะไม่เสร็จสิ้นอีกต่อไป Muriel นั้นเหมือน Muriel เหมือนกับ@คำสั่งในการประมวลผลในตัว Smurfเป็นเหมือน Muriel (คำสั่งในการประมวลผลในตัวคือx) งูหลามเป็นไม่ Muriel execเหมือนเพราะมันยังคงเป็นทัวริงสมบูรณ์หากคุณลบ งานของคุณคือการสร้างภาษาการเขียนโปรแกรมที่คล้ายกับมิวเรียลและจากนั้นจะจัดทำมันในภาษาที่คุณเลือก คะแนนของคุณคือระยะเวลาในการใช้งานซึ่งคุณกำลังพยายามลดให้น้อยที่สุด หมายเหตุ: การประมวลผลในตัวของคุณไม่จำเป็นต้องทำงานเหมือนกับ Muriel มันขึ้นอยู่กับคุณว่าจะจัดการกับการสิ้นสุดของโปรแกรมย่อยข้อผิดพลาดการกำหนดขอบเขต ฯลฯ ได้อย่างไร ภาษาที่คุณเขียนการดำเนินการไม่สามารถตัวเองเป็นเหมือนมิวเรียล (นี่คือรายการที่@ไม่ถูกต้อง) และต้องมีอยู่ก่อนโพสต์นี้

18
ลดรายการให้เป็นหมายเลขสุดท้าย
ปัจจัยการผลิต รายการ (อาร์เรย์) ของตัวเลขหรือสตริงตัวเลขถ้าทำให้ง่ายขึ้น คุณสามารถสมมติว่ามีอย่างน้อยสององค์ประกอบในรายการและทุกองค์ประกอบจะเป็นจำนวนธรรมชาติ (จำนวนเต็มมากกว่าศูนย์) เอาท์พุท ตัวเลขเดียวหรืออีกครั้งเป็นสตริงตัวเลข ปัญหา แนวคิดคือการลดรายการของตัวเลขโดยการลบตัวเลขสุดท้ายของจำนวนที่มากที่สุดในขั้นตอนปัจจุบันของรายการในที่สุดลงท้ายด้วยหมายเลขหนึ่ง (ควรจะส่งกลับเพียงหมายเลขเดียวเท่านั้นแม้ว่าจะมีหลายอินสแตนซ์ก็ตาม) ตัวอย่าง [123,343,121,76,465,786] -- The last digit in 786 is dropped, so it becomes 78 [123,343,121,76,465,78] -- New largest number is 465, so the 5 is dropped, making it 46 [123,343,121,76,46,78] -- Repeat until left with one number [123,34,121,76,46,78] [12,34,121,76,46,78] …

4
การต่อสู้ของตัวอักษร
งานของคุณง่ายมาก: บอกผู้ชนะการต่อสู้ของตัวอักษร การยกทัพ มี "ทหาร" สามคนที่แตกต่างกันในการต่อสู้ครั้งนี้ซึ่งสรุปโดยตารางนี้ name | health | damage A 25 25 B 100 5 C 10 50 คุณสามารถใช้อักขระพิเศษสามตัวเพื่อเป็นตัวแทนของกองทัพ แต่ต้องระบุหากไม่ใช่ตัวอักษรเหล่านี้ การต่อสู้ สมมติว่าเรามีตัวอย่างการต่อสู้: ABC # army 1 CBA # army 2 แต่ละกองทัพยิงซ้ำที่หน่วยด้านซ้ายซ้ำ ๆ จนกว่าจะตาย จากนั้นพวกเขาย้ายไปที่กลุ่มทางด้านขวาและทำซ้ำ ดังนั้นกองทัพ 2 การโจมตีAในกองทัพที่ 1 จนกว่าAจะตายจากนั้นย้ายไปแล้วB Cกองทัพบก 1 โจมตีCก่อนแล้วนั้นB Aสมมติว่ากองทัพโจมตีในเวลาเดียวกันและดังนั้นกองทัพจะยิงถ้ามีชีวิตก่อนรอบและสามารถฆ่าซึ่งกันและกันในเวลาเดียวกัน พวกมันยิงตามลำดับจากซ้ายไปขวา การต่อสู้จะเล่นออกมาเพื่อ: ABC CBA BC …
9 code-golf 

10
ขยายรัฐออสเตรเลียนั้น
รัฐและดินแดนของออสเตรเลียมี 8 รัฐแต่ละแห่งมีตัวย่อ 2 หรือ 3 ตัว: ACT: เขตนครหลวงของออสเตรเลีย NSW: นิวเซาธ์เวลส์ NT: ดินแดนทางเหนือ QLD: รัฐควีนส์แลนด์ SA: ทางใต้ของประเทศออสเตรเลีย TAS: แทสเมเนีย VIC: วิคตอเรีย วอชิงตัน: ​​ออสเตรเลียตะวันตก งานของคุณคือการเขียนฟังก์ชั่น / โปรแกรมที่ใช้ตัวย่อของรัฐออสเตรเลียที่ถูกต้องในกรณีบนและส่งกลับชื่อเต็มที่ถูกต้อง (กรณีที่สำคัญตามข้างต้น) ไม่อนุญาตให้มีช่องว่างเพิ่มเติมนอกเหนือจากขึ้นบรรทัดใหม่เดียวซึ่งนี่เป็นผลข้างเคียงที่หลีกเลี่ยงไม่ได้ของทุกโปรแกรมในภาษานั้น ตัวอย่างเช่น: f("TAS") => "Tasmania" มาตรฐาน รหัสกอล์ฟ กฎ (รหัสที่สั้นที่สุดในไบต์ชนะ!) และช่องโหว่ใช้

4
เตือนฉันอีกครั้ง
บทนำ เคยได้ยินRemind ไหม ไม่มี? ฉันก็ไม่ได้จนกว่าประมาณ 2 ปีที่ผ่านมา หลักฐานพื้นฐานสำหรับครูที่จะส่งการแจ้งเตือนและสื่อสารกับนักเรียนของพวกเขา สวยเนี๊ยบใช่มั้ย มันยังช่วยให้คุณส่ง emotes และตอบสนองต่อข้อความ! ซึ่งฉันทำอยู่ทุกวัน แต่สิ่งหนึ่งที่เตือนใจคือครูมักจะส่ง "ทำการบ้านของคุณ!" "ถ้าคุณทำไม่ได้คุณจะได้ F!" แต่มีสิ่งที่มีประโยชน์เช่น "ทดสอบในวันอังคาร" หรือเป็นครั้งคราว "ขอให้มีความสุขมาก ๆ !" ฉันมักจะตอบว่ามีความสุขเมื่อยกนิ้วขึ้น แต่บางครั้งฉันต้องวางนิ้วโป้งลง ท้าทาย งานของคุณในวันนี้คือการดูว่าข้อความมีความหมายแฝงอยู่หรือไม่ หากมันมีความหมายแฝงในเชิงบวกอยู่ให้ตอบกลับด้วยการยกนิ้ว ถ้ามันมีความหมายแฝงในเชิงลบให้ตอบด้วยการยกนิ้วลง ฉันควรตรวจจับความหมายอย่างไร ความหมายเชิงบวกมักจะมี 3 คำอยู่ในนั้น คำทั้งสามนี้คือ: มีความสุขดีและผ่านไป ความหมายเชิงลบจะมี 3 ด้วย ผู้ที่ 3: การทดสอบล้มเหลวและการบ้าน ฉันกำลังทดสอบอะไรอยู่ คุณกำลังทดสอบเพื่อดูว่าข้อความมีความหมายเชิงบวกเชิงลบหรือทั้งสองอย่าง หากข้อความมีความหมายเชิงบวกอยู่ให้ดำเนินการต่อและส่งคืนจุดโค้ดยูนิโคดเพื่อยกนิ้วให้ (U + 1F44D) หากมันมีความหมายเชิงลบอยู่ให้คืนจุดโค้ดยูนิโคดเพื่อยกนิ้วลง (U + …

6
การบีบตาบิต
การมองหาค่าไบนารีที่พิมพ์เป็นวงรีและแท่งไม่ใช่เรื่องง่าย ... เพื่อช่วยในการนั้นคุณต้องเขียนฟังก์ชั่น (หรือโปรแกรม) ที่พิมพ์ตัวเลขในรูปแบบไบนารีที่กำหนดเอง ดังนั้นฉันต้องการใช้ตัวเลขพูด 3 ( 00000011) และเอาท์พุทบิตในรูปแบบที่ผู้ใช้กำหนดเช่นกับคู่ที่คั่นด้วยช่องว่าง: 00 00 00 11 หรือพูดในลำดับที่กลับกันและมีผู้ตกแต่งบางอย่างเช่น: 11_00_00_00 นอกจากนี้จะต้องมีความเป็นไปได้ที่จะแสดง '0' และ '1' เป็นอักขระที่กำหนดเองเพื่อแยกความแตกต่างได้ดีขึ้นเช่น: XX oo oo oo ดังนั้นความท้าทายคือการเขียนโค้ดที่ทำทุกอย่างตามข้อกำหนดต่อไปนี้ สเปค ฟังก์ชั่นรับอินพุตดังนี้: f (A, mask, ศูนย์, อัน) พารามิเตอร์: เอ - จำนวนอินพุต - จำนวนเต็มใด ๆ (ไม่ได้ลงนาม) ในช่วง 0-255 mask - พารามิเตอร์สตริงที่กำหนดการสร้างเอาต์พุต ศูนย์ - สตริงที่มีความยาวเท่ากันกำหนด glyphs …

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