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

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

13
ส่งออกหมายเลขที่สมบูรณ์แบบที่ n
ท้าทาย กำหนดจำนวนเต็ม n เป็นอินพุทที่ไหน0 <= n <= 2^10เอาท์พุทตัวเลขที่สมบูรณ์แบบ n ตัวเลขที่สมบูรณ์แบบ ตัวเลขสมบูรณ์แบบคือตัวเลข x โดยที่ผลรวมของปัจจัย (ยกเว้นตัวเอง) เท่ากับ x ตัวอย่างเช่น 6: 6: 1, 2, 3, 6 และแน่นอนว่า1 + 2 + 3 = 6ดังนั้น 6 จึงสมบูรณ์แบบ ถ้าเป็นจำนวนที่สมบูรณ์แบบเป็นแม้กระทั่งxx mod 2 = 0 ตัวอย่าง ต่อไปนี้เป็นตัวเลขที่สมบูรณ์แบบ 10 อันดับแรก: 6 28 496 8128 33550336 8589869056 137438691328 2305843008139952128 2658455991569831744654692615953842176 …
16 code-golf  math  number 

15
แปลงชื่อมาริโอญี่ปุ่นเป็นชื่ออเมริกัน
แบบแผนการตั้งชื่อสำหรับเกมในซีรีย์ Super Mario นั้นแปลกมากและไม่เข้ากันระหว่างแต่ละภูมิภาค | Japanese Name | American Name | |---------------------|------------------------------------| | Super Mario Bros. | Super Mario Bros. | | Super Mario Bros. 2 | Super Mario Bros.: The Lost Levels | | Super Mario USA | Super Mario Bros. 2 | | Super Mario Bros. 3 | …

3
Miller-Rabin Strong Pseudoprimes
ให้เป็นจำนวนเต็มไม่เป็นลบN, ส่งออกจำนวนเต็มบวกคี่ที่เล็กที่สุดที่เป็น pseudoprime ที่แข็งแกร่งไปยังNฐานที่สำคัญทั้งหมดแรก นี่คือ OEIS ลำดับA014233 กรณีทดสอบ (หนึ่งดัชนี) 1 2047 2 1373653 3 25326001 4 3215031751 5 2152302898747 6 3474749660383 7 341550071728321 8 341550071728321 9 3825123056546413051 10 3825123056546413051 11 3825123056546413051 12 318665857834031151167461 13 3317044064679887385961981 กรณีทดสอบสำหรับN > 13ยังไม่พร้อมใช้งานเนื่องจากยังไม่พบค่าเหล่านั้น หากคุณจัดการเพื่อค้นหาคำถัดไปในลำดับให้แน่ใจว่าได้ส่งมัน / พวกเขาเพื่อ OEIS! กฎระเบียบ คุณอาจเลือกที่จะใช้Nเป็นศูนย์ดัชนีหรือค่าดัชนีหนึ่ง เป็นที่ยอมรับได้สำหรับโซลูชันของคุณที่จะทำงานเฉพาะกับค่าที่สามารถแสดงได้ภายในช่วงจำนวนเต็มของภาษาของคุณ (จนถึงN = 12จำนวนเต็ม 64 บิตที่ไม่ได้ลงนาม) …

13
Trithagorean Triples
พีทาโกรัส Tripleเป็นโซลูชั่นจำนวนเต็มบวกสมการ: Trithagorean triple เป็นคำตอบจำนวนเต็มบวกของสมการ: ที่ไหนΔnพบที่ n จำนวนรูปสามเหลี่ยม Triithagorean triples ทั้งหมดยังเป็นคำตอบสำหรับสมการ: งาน รับจำนวนเต็มบวกcเอาท์พุทคู่ของจำนวนเต็มบวกทั้งหมดa,bที่ผลรวมของตัวเลขสามเหลี่ยมaและbth คือเลขcสามเหลี่ยมที่สาม คุณสามารถส่งออกคู่ในวิธีใดก็ตามที่สะดวกที่สุด คุณควรส่งออกแต่ละคู่ครั้งเดียวเท่านั้น นี่คือรหัสกอล์ฟ กรณีทดสอบ 2: [] 3: [(2, 2)] 21: [(17, 12), (20, 6)] 23: [(18, 14), (20, 11), (21, 9)] 78: [(56, 54), (62, 47), (69, 36), (75, 21), (77, 12)] 153: [(111, 105), (122, …

2
ไบนารีเตตริสในทวีต
นอกจากนั้นเมื่อเร็ว ๆ นี้ (ไม่กี่ปีหลัง) ฉวัดเฉวียนบางอย่างเกี่ยวกับการเขียนโปรแกรม เว็บไซต์เกี่ยวกับการดำเนินการของTetris ใน 140 Bytes ... ปรากฎว่าแม้ว่ามันจะเล็ก แต่ก็เป็นเวอร์ชั่นที่ง่ายกว่าของ Tetris และไม่ได้ใช้งานอย่างสมบูรณ์ เฉพาะฟังก์ชันลอจิกแบบหลักที่เหมาะกับ Javascript 140 ไบต์ ในการใช้งานจริงคุณต้องมีอีก 840 อักขระของ HTML เราทำได้ดีกว่า! ความท้าทายนี้คือการติดตั้ง "Binary Tetris" เวอร์ชั่นเต็มในทวีตให้น้อยที่สุด กฎเตตริสไบนารี: โปรแกรมจะต้องแสดงสนามเล่นที่มีอย่างน้อย 5 คอลัมน์และ 6 แถวของเซลล์ วิธีการแสดงผลใด ๆ อาจถูกนำมาใช้ตราบใดที่บล็อกและขอบของสนามถูกทำเครื่องหมายไว้อย่างชัดเจน ต้องมีอย่างน้อยสองชนิดของบล็อก: และ# ##การสนับสนุนบล็อกเพิ่มเติมเช่น###หรือบล็อกมุมที่มีรูปร่างคล้าย L จะได้รับการอัปเกรดโดยฉัน: P และเกมที่สมบูรณ์ที่สุดของไบนารีเตตริส (บล็อกส่วนใหญ่เช่นคุณลักษณะดั้งเดิมและการหมุน) จะชนะความสุขของฉัน บล็อกใหม่จะถูกเพิ่มไปยังเขตข้อมูลในแถวบนสุดและเซลล์บล็อกหนึ่งต้องครอบครองคอลัมน์กลาง บล็อกลงมาสู่แถวล่างในอัตราคงที่ บล็อกจะต้องลงมาแม้ไม่มีผู้ใช้ เมื่อบล็อกสัมผัสด้านล่างของสนามหรือบล็อกที่ต่ำกว่าพวกเขาจะหยุดตกและได้รับการแก้ไขในสถานที่ เพิ่มบล็อกใหม่ …

18
คำนวณค่าของ
ท้าทาย รับจำนวนเต็ม, , เป็นอินพุตโดยที่เอาท์พุทค่าของ (โดยที่หมายถึงRiemann Zeta Function )ssss≥1s≥1s\geq 1ζ(s)ζ(s)\zeta(s)ζ(x)ζ(x)\zeta(x) ข้อมูลเพิ่มเติม ζ(s)ζ(s)\zeta(s)ถูกกำหนดเป็น: ζ(s)=∑n=1∞1nsζ(s)=∑n=1∞1ns\zeta(s) = \sum\limits^\infty_{n=1}\frac{1}{n^s} คุณควรส่งคำตอบไปที่ทศนิยม 5 ตำแหน่ง (ไม่มากไม่น้อย) ถ้าคำตอบออกมาเป็นอินฟินิตี้คุณควรเอาท์พุทหรือเทียบเท่าในภาษาของคุณ∞∞\infty บิวด์อิน Riemann Zeta ได้รับอนุญาต แต่ก็สนุกน้อยกว่าที่จะทำเช่นนั้น;) ตัวอย่าง ผลลัพธ์จะต้องตรงตามที่แสดงด้านล่าง Input -> Output 1 -> ∞ or inf etc. 2 -> 1.64493 3 -> 1.20206 4 -> 1.08232 8 -> 1.00408 19 -> 1.00000 …
16 code-golf  math 

30
เพิ่มจำนวนเต็ม x เป็นกำลัง x โดยไม่ต้องมีอินทิเกรชั่นการยกกำลัง
งาน -จำนวนเงินที่ชื่อมันสวยมากขึ้น: เพิ่มเป็นจำนวนเต็มxสู่อำนาจx0<xที่ ข้อ จำกัด: ใช้การยกกำลัง, exp(), ln()และอื่น ๆ ภาษาอำนาจที่เกี่ยวข้องกับการสร้างอินเช่นpow(), x^x, x**xเป็นสิ่งต้องห้าม คุณสามารถสมมติได้ว่าจำนวนเต็มที่กำหนดนั้นตรงกับขีด จำกัด ของภาษาการเขียนโปรแกรมที่คุณเลือก กรณีทดสอบ: Input | Output --------------- 2 | 4 3 | 27 5 | 3125 6 | 46656 10 | 10000000000 นี่คือโค้ดกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดในหน่วยไบต์ชนะ

3
หยุดเดินบนกำแพง!
การกดไลค์แบบข้อความจะไม่ยอมให้คุณเดินเข้าไปในกำแพงและให้คุณถอยกลับหากคุณพยายามทำ ทำไมเมื่อคุณทำให้ผู้เล่นเคลื่อนที่ไปในทิศทางที่ถูกต้องที่สุด ความท้าทาย เขียนโปรแกรมของฟังก์ชั่นที่กำหนดทิศทางและตารางขนาดตัวอักษร 3 ถึง 3 ตัวออกตารางเดียวกันหลังจากผู้เล่นทำตามขั้นตอน ตัวอย่างเช่น, 9 #.. .@# #.# กลายเป็น #.@ ..# #.# อินพุต ทิศทางจะถูกกำหนดโดยตัวเลขหลักเดียวจาก 1 ถึง 9 โดยแต่ละทิศทางสอดคล้องกับ 8 ทิศทางสำคัญและหยุดนิ่ง สิ่งนี้ได้มาจากตำแหน่งสัมพัทธ์ของตัวเลขบนแผงปุ่มกด: ไม่มีทางตะวันตกเฉียงเหนือ .. \ | / ... 7 8 9 W- 4 5 6 -E ... 1 2 3 ../ | \ SW S SE …
16 code-golf  random 

5
คำพูดกับบล็อก
ให้พจนานุกรมคำที่มี 4 ตัวอักษรที่ไม่มีตัวอักษรซ้ำ ( จากรายการคำนี้ ) คุณต้องเลือกหนึ่งในคำเหล่านั้นและส่งออกคำนั้นโดยใช้พจนานุกรมตัวอักษรบล็อกต่อไปนี้: .----------------. .----------------. .----------------. .----------------. | .--------------. || .--------------. || .--------------. || .--------------. | | | __ | || | ______ | || | ______ | || | ________ | | | | / \ | || | |_ _ \ | || | …

1
ชื่อเสียงของคุณจะเป็นอย่างไรถ้าไม่มีตัวแทน
ในการท้าทายนี้คุณจะคำนวณว่าชื่อเสียงของคุณจะเป็นอย่างไรถ้าไม่มีชื่อเสียงสูงสุดใน PPCG ทุกคนสามารถเข้าถึงข้อมูลดิบสำหรับการเปลี่ยนแปลงที่อยู่ในชื่อเสียงนี้: codegolf.stackexchange.com/reputation ข้อมูลดิบตามหลังการตั้งค่าเช่นนี้ (นี่เป็นสองสามบรรทัดแรกของหน้าเว็บในเวอร์ชันของฉัน total votes: 2955 -- bonuses (100) 2 37663 (10) -- 2014-09-11 rep +110 = 111 2 41751 (10) -- 2014-11-23 rep +10 = 121 2 41751 (10) 2 41751 (10) -- 2014-11-24 rep +20 = 141 บรรทัดแรกนั้นไม่เกี่ยวข้องกับความท้าทายนี้ (แสดงจำนวนคะแนนรวมที่คุณได้รับจากคำตอบและคำถามทั้งหมด) บรรทัดที่สองแสดง "โบนัสสมาคม" หากคุณไม่มีโบนัสแล้วบรรทัดนั้นจะไม่อยู่ที่นั่นเลย หลังจากบรรทัดสอง (หรือหนึ่งถ้าไม่มีโบนัส) คุณจะมีรายการของการเปลี่ยนแปลงชื่อเสียงต่อคำถามพร้อมกับสรุปของตัวแทนที่ได้รับ …

5
คำแนะนำสำหรับการจัดเก็บในภาษากอล์ฟ
ฉันกำลังเขียนภาษากอล์ฟ คุณแนะนำตัวแปรสแต็กเทปรีจิสเตอร์และอื่น ๆ สำหรับการจัดเก็บในภาษารหัส - กอล์ฟหรือไม่? สิ่งที่เกี่ยวกับการป้อนข้อมูลโดยนัย? คำจำกัดความหยาบ: ตัวแปรเป็นเพียงชื่อ (ปกติตัวละครตัวหนึ่งยาวในภาษากอล์ฟ) ที่มีค่าสามารถกำหนดให้และต่อมาเรียกโดยชื่อนั้น การลงทะเบียนเป็นเหมือนตัวแปร แต่มีคำสั่งของตัวเอง (โดยปกติคือไบต์เดียว) สำหรับการตั้งค่า / รับค่า สแต็คเป็นตัวแปรที่มีความยาวอาร์เรย์ / รายการค่าที่มากที่สุดที่เพิ่งเพิ่มค่า (ค่า "ด้านบน") เป็นคนที่มีการปรับเปลี่ยน คิวเป็นเหมือนกองยกเว้นค่า "ที่ด้านล่าง " เป็นคนที่มีการปรับเปลี่ยน เทปเป็นแบบคงที่อาร์เรย์ / รายการค่าที่แต่ละค่ามีดัชนี ข้อแตกต่างที่สำคัญระหว่างสแต็กและเทปคือค่าบนเทปจะถูกแก้ไขแบบแทนที่ ฉันขอขอบคุณที่ได้ทราบถึงข้อดีและข้อเสียของแต่ละตัวเลือกสำหรับสถานการณ์ที่แตกต่างกันและโดยรวม กรุณาหลีกเลี่ยงความคิดเห็นและข้อความสำรองด้วยเหตุผล

2
การให้คะแนนสนุ้กเกอร์
ฉันกำลังดูแชมป์โลกสนุกเกอร์และมันทำให้ฉันสงสัย .. การให้คะแนนสนุ้กเกอร์ ในเกมสนุ๊กเกอร์มีกฎบางอย่างที่คุณต้องปฏิบัติตามเช่นกัน: เมื่อมีลูกบอลสีแดงบนโต๊ะในช่วงตาคุณคุณจะต้องแทงลูกบอลสีแดงก่อน หลังจากปลูกลูกบอลสีแดงแต่ละลูกคุณจะต้องแทงลูกบอลสี (ไม่ใช่สีแดง) (ลูกบอลสีกระถางจะถูกแทนที่ลงบนโต๊ะ) หลังจากลูกบอลสีแดงทั้งหมดขึ้น (มี 15) คุณสามารถเลือกลูกบอลสีก่อนแล้วจึงเริ่มด้วยลูกบอลคะแนนต่ำสุดและทำตามวิธีของคุณจนถึงลูกบอลคะแนนสูงสุด (เหล่านี้จะไม่ถูกแทนที่) ไม่ได้เติม ณ จุดใดก็ตามจะเป็นการปิดตาคุณ คะแนนต่อบอล ลูกบอลสีแดง: 1 จุด ลูกบอลสีเหลือง: 2 คะแนน ลูกบอลสีเขียว: 3 คะแนน ลูกบอลสีน้ำตาล: 4 คะแนน ลูกบอลสีน้ำเงิน: 5 คะแนน ลูกบอลสีชมพู: 6 คะแนน ลูกบอลสีดำ: 7 คะแนน คำถาม คุณเริ่มต้นด้วยโต๊ะที่ลูกบอลทุกลูกยังคงอยู่ - ลูกบอลสีแดง15ลูกและลูกบอลสีหนึ่งในแต่ละลูก - และได้รับคะแนนผู้เล่นในสนุ๊กเกอร์หลังจากรอบแรกของพวกเขาสิ่งที่เป็นไปได้ที่พวกเขาจะประสบความสำเร็จ คะแนน? ข้อมูลที่ป้อนจะเป็นคะแนนตั้งแต่ 1 ถึง 147 คุณสามารถเลือกได้ว่าจะเป็นจำนวนเต็มหรือสตริง …
16 code-golf 

9
ความสนุกในการเติมข้อความอัตโนมัติของ Google
งานของคุณคือการสร้างโปรแกรมซึ่งรับสายป้อนข้อมูลจะส่งออกผลลัพธ์การเติมข้อความอัตโนมัติครั้งแรกของ Google สำหรับการค้นหานั้น รูปแบบของอินพุต / เอาต์พุตขึ้นอยู่กับคุณ กฎระเบียบ โปรแกรมของคุณจะต้องมี 1 อินพุตสตริงและส่งผลลัพธ์ผลลัพธ์การแนะนำการเติมข้อความอัตโนมัติ / การเติมข้อความอัตโนมัติของ Google อันดับต้น ๆ รูปแบบของอินพุต / เอาต์พุตขึ้นอยู่กับคุณ โปรดอย่าลืมระบุว่ารูปแบบ I / O ของคุณคืออะไร เห็นได้ชัดว่าการเข้าถึงอินเทอร์เน็ตได้รับอนุญาต shorteners URL (เช่น bit.ly, TinyURL ฯลฯ ) อย่างเคร่งครัดไม่ได้รับอนุญาต คุณควรจะเรียกผลการเติมข้อความอัตโนมัติจาก URL นี้: http://suggestqueries.google.com/complete/search?client=your_browser&q=your_queryหรือhttp://google.com/complete/search?client=your_browser&q=your_query คุณได้รับอนุญาตที่จะคิดชื่อเบราว์เซอร์ใด ๆ (หรือสตริงสำหรับเรื่องที่) clientสำหรับ ในโปรแกรมที่ฉันเขียนฉันถือว่า Chrome ชื่อหรือสตริงของเบราว์เซอร์ใด ๆ ที่ใช้งานได้ คุณได้รับอนุญาตให้ผ่านตัวเลือกใด ๆ ไปยังหน้าเว็บตราบเท่าที่คุณกำลังใช้แตกต่างจากบางhttp://suggestqueries.google.com/complete/search โปรดให้คำอธิบายว่าโปรแกรมของคุณทำงานอย่างไร มันไม่ได้บังคับ …

6
ทำงานกับอัศวินของฉัน
หมากรุกหกเหลี่ยมอธิบายถึงตระกูลหมากรุกหลากหลายรูปแบบที่เล่นบนกระดานซึ่งเซลล์เป็นรูปหกเหลี่ยมแทนที่จะเป็นสี่เหลี่ยมจตุรัสดั้งเดิม มีหลายสายพันธุ์เช่น; ในการท้าทายนี้เราจะมุ่งเน้นไปที่ตัวแปรของGlińskiซึ่งเป็นเรื่องที่พบได้บ่อยที่สุด กระดานประกอบด้วยสามสี (เพื่อให้สีเดียวกันไม่แบ่งขอบ), กับขอบของรูปหกเหลี่ยมหันหน้าไปทางผู้เล่น กระดานนี้มี 11 ไฟล์, ทำเครื่องหมายด้วยตัวอักษรaผ่านl( jไม่ได้ใช้ตัวอักษร), และ 11 อันดับ (ซึ่งงอ 60 °ที่ไฟล์f) จัดอันดับ1ผ่าน6แต่ละเซลล์ประกอบด้วย 11 เซลล์อันดับ7มี 9 เซลล์อันดับ8มี 7 และอื่น ๆ อันดับ11มีอีกหนึ่งมือถือ: f11 (ถ้ามันช่วยได้ลองคิดว่าแต่ละระดับนั้นสร้างรูปร่าง "V" ที่กว้างมาก) นี่คือภาพตัวอย่างของบอร์ดพร้อมอัศวินในเซลล์ตรงกลาง เซลล์ที่มีเครื่องหมายจุดเป็นการเคลื่อนไหวทางกฎหมายของอัศวินผู้นี้ อัศวินเคลื่อนไปในลักษณะคล้ายกับหมากรุก "ปกติ" สองตัว - ลง - และ - หนึ่ง - มากกว่า ในแง่ของหมากรุกแบบหกเหลี่ยมมันเป็นการเคลื่อนที่แบบมุมฉาก (ข้ามขอบ) จากนั้นเป็นการเคลื่อนที่แบบทแยงมุมในทิศทางเดียวกัน (การเคลื่อนที่ที่ใกล้เคียงที่สุดกับสีเดียวกัน) ตัวอย่างเช่นกับอัศวินด้านล่างการเลื่อนมุมฉาก "ขึ้น" ไปจนถึงสีน้ำตาลอ่อนนั้นจะมาพร้อมกับการเลื่อนแนวทแยง …

2
เข้ารหัสการเล่นกอล์ฟแบบครบวงจร
ความท้าทายนี้มีคะแนน 200 แต้มสำหรับการตอบคำถามแรกและยังคงไม่แพ้ใครเป็นเวลาอย่างน้อย 3 วัน โดยอ้างว่าuser3080953 เมื่อไม่นานมานี้มีการพูดคุยกันมากมายเกี่ยวกับการเข้ารหัสแบบครบวงจรและกดดันให้ บริษัท ต่างๆนำผลิตภัณฑ์ออกจากผลิตภัณฑ์ของตน ฉันไม่ได้สนใจในสิทธิและความผิดของสิ่งนั้น แต่ฉันสงสัยว่ารหัสสั้นแค่ไหนที่จะทำให้ บริษัท กดดันให้ไม่ใช้มัน ความท้าทายที่นี่คือการใช้การแลกเปลี่ยนคีย์ Diffie Hellmanระหว่างสองระบบเครือข่ายจากนั้นอนุญาตให้ผู้ใช้สื่อสารกลับไปกลับมาโดยใช้คีย์สมมาตรที่สร้างขึ้น สำหรับวัตถุประสงค์ของงานนี้ไม่จำเป็นต้องมีการป้องกันอื่น ๆ (เช่นไม่จำเป็นต้องวนกุญแจตรวจสอบตัวตนป้องกัน DoS ฯลฯ ) และคุณสามารถใช้งานอินเทอร์เน็ตแบบเปิดได้ การใช้บิวอินได้รับอนุญาตและสนับสนุน! คุณสามารถเลือกหนึ่งในสองรุ่น: เซิร์ฟเวอร์และไคลเอนต์: ไคลเอนต์เชื่อมต่อกับเซิร์ฟเวอร์จากนั้นเซิร์ฟเวอร์หรือไคลเอนต์สามารถส่งข้อความไปยังอีก บุคคลที่สามในระหว่างทั้งสองจะต้องไม่สามารถอ่านข้อความได้ ตัวอย่างการไหลอาจเป็น: ผู้ใช้ A เปิดตัวเซิร์ฟเวอร์ ผู้ใช้ B เปิดตัวไคลเอนต์และนำไปยังเซิร์ฟเวอร์ของผู้ใช้ A (ผ่านทาง IP / พอร์ต) โปรแกรมจะเปิดการเชื่อมต่อ โปรแกรมของผู้ใช้ A ยอมรับการเชื่อมต่อ (ขอความยินยอมจากผู้ใช้ก่อน) โปรแกรมของผู้ใช้ B เริ่มต้นการสร้างความลับ DH และส่งข้อมูลที่ต้องการ …

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