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

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

10
arcsinc โดยประมาณ
เป้าหมายคือง่าย ๆ : ส่งออกวิธีแก้ปัญหาที่ไม่ใช่ศูนย์จริงxกับสมการที่sin(x) = -mxได้รับการป้อนข้อมูลmในจำนวนน้อยที่สุดของไบต์ ข้อมูลจำเพาะ: คำตอบของคุณจะต้องถูกต้องถึง 3 ตัวเลขที่สำคัญ x=0คุณอาจจะส่งออกทางออกที่แท้จริงอื่นใดนอกเหนือจากการแก้ปัญหาที่น่ารำคาญ คุณสามารถสันนิษฐานmได้ว่ามีทางออกอย่างน้อยหนึ่งรายการ m!=0นอกจากนี้คุณยังอาจคิด เห็นได้ชัดว่าวิธีการแก้ปัญหาหลาม suboptimal ใช้เชื้อสายลาด : from math import * from random import * a=x=0.001 m = 5. def dE(x):return 2*(sin(x)+m*x+1)*(cos(x)+m) for i in xrange(1000): x-=dE(x)*a print x กรณีทดสอบ -0.25 -> ±2.4746 -0.1 -> ±2.8523 or ±7.0682 or ±8.4232 …
9 code-golf  math 

2
แปลง pointfree เป็น pointful
ในฐานะที่เป็นแฮ็กเกอร์ Haskell ฉันชอบสัญกรณ์ pointfree มากกว่าประเด็น น่าเสียดายที่บางคนพบว่าโน้ตที่ไม่มีจุดอ่านยากที่จะอ่านและฉันพบว่ามันยากที่จะรับวงเล็บที่ถูกต้องเมื่อฉันเขียนแบบไม่มีจุดหมาย ช่วยฉันแปลงโค้ดที่เขียนด้วย pointfree เป็นเครื่องหมายที่ไม่มีจุดหมาย! เกี่ยวกับ ในสัญกรณ์ pointfree เราใช้ points (ใช่จริง ๆ ) เพื่อป้อนข้อมูลผลลัพธ์ของฟังก์ชันหนึ่งไปยังอีกฟังก์ชัน พูดว่าถ้าคุณมีฟังก์ชั่นsuccที่ใช้ตัวเลขและบวก 1 กับมันและคุณต้องการสร้างฟังก์ชันที่บวก 3 เข้ากับตัวเลขแทนที่จะทำสิ่งนี้: \x -> succ(succ(succ(x))) คุณสามารถทำสิ่งนี้: succ.succ.succ Pointfree ใช้งานได้กับฟังก์ชั่นที่ใช้พารามิเตอร์เดียวเท่านั้น (ในความท้าทายนี้ต่อไป) ดังนั้นหากฟังก์ชั่นของเราไม่ได้เป็นsuccแต่addใช้หมายเลข 2 และรวมเข้าด้วยกันเราจะต้องป้อนมันอาร์กิวเมนต์จนกว่าจะเหลือเพียงหนึ่ง: pointful: \x -> add 1(add 1(add 1 x)) pointfree: add 1 . add 1 . add …

5
ทำสัตว์เลี้ยง Tamagotchi / Giga ที่เรียบง่าย!
Tamagotchi และ Giga Pets เป็นอุปกรณ์อิเล็กทรอนิกส์ขนาดเล็กซึ่งจำลองสัตว์เลี้ยงเสมือนจริงเล็กน้อย สัตว์เลี้ยงนี้มีหลายสถิติเช่นสุขภาพความหิว ฯลฯ ฉันเพิ่งเขียนตัวอย่างนี้: import msvcrt,os,sys;d=m=100;h=s=t=p=0;f=10 while 1: os.system('cls'if os.name=='nt'else'clear');print("health:",d,"\nhunger:",h,"\nsleep:",s,"\nfood:",f,"\npotions:",p,"\nmoney:",m);t+=1 if msvcrt.kbhit(): k=ord(msvcrt.getch()) if k==102 and h>8 and f:f-=1;h-=9 if k==115:s=0 if k==112 and p:p-=1;d+=9 if k==98 and m>8:m-=9;p+=1 if k==116 and m>8:m-=9;f+=1 if t>99: t=0;h+=1;s+=1 if s>80:s=0;h+=9 if h>80:d-=1 if d<1:sys.exit(0) if d>79:m+=1 นี่เป็นสัตว์เลี้ยงเสมือนกระดูกเปล่าใน 467 …
9 code-golf 

10
พิมพ์บอร์ดโอเอกซ์!
นี่คือบอร์ดโอเอกซ์: a b c | | 1 - | - | - _____|_____|_____ | | 2 - | - | - _____|_____|_____ | | 3 - | - | - | | ให้ชุดของการเคลื่อนไหวพิมพ์กระดานที่มีโทเค็นบน ข้อมูลจะถูกนำเข้ามาในลักษณะของการเคลื่อนไหวคั่นด้วยช่องว่างโดยแต่ละการเคลื่อนไหวจะเป็น: ก่อนอื่นโทเค็นที่กำลังเกิดขึ้น ถัดไปตัวอักษรของคอลัมน์ที่มีการเคลื่อนไหว สุดท้ายจำนวนแถวที่มันกำลังเคลื่อนที่ โปรดทราบว่ากฎ tic-tac-toe ปกติไม่สำคัญ นอกจากนี้ไม่จำเป็นต้องพิมพ์ตัวอักษรและตัวเลข ตัวอย่างเช่นอินพุตOb2 Xc2 Ob3 Xa1จะส่งผลให้ | | X | - …

3
Pi # 1 ธรรมชาติ - ทราย
เป้าหมาย สร้าง ( N) ส่วนของเส้นสุ่มที่มีความยาวเหมือนกัน ( l) ตรวจสอบว่าพวกเขาข้ามtเส้นขนานเท่ากัน ( ) หรือไม่ การจำลอง เรากำลังจำลองอะไร เข็มของ Buffon ทำให้ทรายเรียบในกล่องทรายของคุณวาดชุดของเส้นคู่ขนานที่เว้นระยะเท่ากัน (โทรหาระยะห่างระหว่างกันt) นำแท่งไม้ที่มีความยาวตรงlแล้วหยดNลงในกล่องทราย cให้จำนวนครั้งที่มันข้ามเส้นเป็น จากนั้นPi = (2 * l * n) / (t * c)! เราจำลองสิ่งนี้ได้อย่างไร รับอินพุต N,t,l ด้วยN, t, lจำนวนเต็มบวกทั้งหมด ทำตามNเวลาต่อไปนี้: สร้างพิกัดจำนวนเต็มสุ่มอย่างสม่ำเสมอ x,y กับ 1 <= x, y <= 10^6 x,y เป็นศูนย์กลางของส่วนของเส้นที่มีความยาว l สร้างจำนวนเต็มสุ่มอย่างสม่ำเสมอ …

1
ดำเนินการกฎการรวมกันของ Dempster
Crash Course บน DST ทฤษฎี Dempster – Shafer (DST)จัดเตรียมวิธีการรวมแหล่งที่มาต่าง ๆ ของหลักฐานเพื่อสร้างความเชื่อ ได้รับรายชื่อของคำสั่งที่เป็นไปได้ (ซึ่งเป็นคำตอบที่จริง) แต่ละที่เป็นไปได้รวมกันของงบที่ได้รับมอบหมาย "มวล" แสดงให้เห็นระดับของหลักฐานสนับสนุน มวลรวมของชุดค่าผสมทั้งหมดเท่ากับ 1 เสมอ จากการมอบหมายจำนวนมากเราสามารถสร้างขอบเขต (ความเชื่อ) และขอบเขตบน (ความน่าเชื่อถือ) ที่สมเหตุสมผลบนความจริงของชุดค่าผสมนั้น ความเชื่อbel(X)ของเซต X ใด ๆ คือผลรวมของมวลของเซตย่อยทั้งหมดของ X (รวมถึงตัวมันเอง) ความน่าเชื่อถือpl(X)ของชุด X ใด ๆ คือ "1 - ผลรวมของมวลของชุดทั้งหมดที่แยกจากกันเป็น X" แผนภาพด้านล่างแสดงให้เห็นว่าความเชื่อและความน่าเชื่อถือเกี่ยวข้องกับความไม่แน่นอนได้อย่างไร ตัวอย่างเช่นสมมติว่ามีสัญญาณไฟจราจรที่อาจเป็นหนึ่งในGreen, Yellow หรือRed รายการตัวเลือกและการมอบหมายจำนวนมากที่เป็นไปได้แสดงอยู่ด้านล่าง: binary interpretation m(X) bel(X) pl(x) …
9 code-golf  math 

1
ลอร์ดออฟเดอะกอล์ฟ
Intro ในลอร์ดออฟเดอะริ JRR โทลคีนวลีนี้อยู่บนหน้าปกของหนังสือแต่ละเล่ม Three Rings for the Elven-kings under the sky, Seven for the Dwarf-lords in their halls of stone, Nine for Mortal Men doomed to die, One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. One Ring to rule …

6
Monomials เข้าใจผิด
มีอยู่สมการสมมติnและxเป็นบวก เป็นการแสดงออกถึงความสัมพันธ์ระหว่างสอง monomials คนหนึ่งเป็นเรื่องผิดของคนอื่น หลายคนทำผิดพลาดอย่างง่าย ๆ ในการเทียบสิ่งเหล่านี้ (เช่น3x^2และ(3x)^2) ท้าทาย ได้รับจำนวนเต็มบวกiกำหนดและกลับไปแก้ปัญหาnและมีผลรวมที่มีขนาดเล็กที่สุดเป็นอาร์เรย์x [n, x]ในกรณีของเน็คไทชุดการแก้ปัญหาใด ๆ ที่เป็นที่ยอมรับ กรณีทดสอบ 62658722541234765 [15, 11] 202500 [4, 15] 524288 [8, 4] 33044255768277 [13, 9]

7
เติมในตารางแบบสุ่ม
รับจำนวนเต็มบวกn < 10ให้สร้างเมทริกซ์ 2 มิติโดยที่แต่ละตำแหน่งเต็มไปด้วยxและyดัชนี (เริ่มจากด้านซ้ายบน) ตัวอย่างเช่น: อินพุต: 2 00 10 10 11 อินพุต: 3 00 10 20 01 11 21 02 12 22 เมื่อสร้างกริดแล้วให้สุ่มเติมดัชนีแต่ละอัน นี่อาจเป็น 'x' หรือวิธีอื่นเพื่อแสดงว่ามีการเติมเต็มจุดแล้ว คุณกำหนดตำแหน่งที่จะเติมโดยสร้างดัชนีแบบสุ่มเพื่อเติมเมทริกซ์ คุณสามารถเติมได้เพียง ^ ^ ครั้งเท่านั้นดังนั้นคุณจึงไม่สามารถเติมได้หลายครั้งเท่าที่คุณต้องการจนกว่าเมทริกซ์นั้นจะถูกเติมเต็ม ในตอนท้ายเมทริกซ์ต้องถูกเติมดังนั้นคุณต้องทำงานเพื่อให้แน่ใจว่าคุณตรวจสอบหมายเลขสุ่มที่คุณใช้เพื่อเติมเพื่อให้แน่ใจว่าจุดนั้นไม่ได้ถูกเติมแล้ว รีเฟรชหรือพิมพ์หลังจากเติมแต่ละครั้งเพื่อแสดงความก้าวหน้าของการเติมซ้ำ ตัวอย่างการเติม: อินพุต: 2 00 10 01 11 00 ถูกสุ่มเลือก: XX 10 01 11 01 ถูกสุ่มเลือก: …

1
การงอแบบโค้งงอ
การเป็นโปรแกรมเมอร์การดูพวกเราดิ้นรนไม่น่าสนใจมาก วันนี้เราเปลี่ยนสิ่งนั้น! ในการท้าทายนี้คุณจะมีส่วนร่วมและยืดหยุ่น hexaflexagons เกี่ยวกับ สำหรับวิดีโอแนะนำดูวิดีโอวิหารบน flexagons รูปทรงโค้งงอเป็นรูปทรงที่คุณสามารถโค้งงอเพื่อเผยให้เห็นใบหน้าอื่นนอกเหนือจากด้านบนและด้านล่าง เราสร้าง hexahexaflexagon ซึ่งมี 6 หน้า ดูภาพด้านล่างเกี่ยวกับวิธีพับ hexahexaflexagon จากแถบกระดาษ Aแสดงให้เห็นถึงทั้งสองด้านของแถบ สามเหลี่ยมสีขาวสองอันติดกัน นี่คือวิธีที่คุณจะดิ้น: ด้านล่างนี้เป็นแผนผังของรัฐที่เป็นไปได้และความสัมพันธ์: วงกลมสีแสดงถึงสามเหลี่ยม 6 รูปด้วยหมายเลขเดียวกันจากภาพแรก เส้นแบ่งแต่ละอันมีสองสี - ด้านล่างส่วนใหญ่แสดงถึงด้านหลัง (สิ่งที่คุณจะเห็นว่าคุณจะพลิกงอของคุณไปรอบ ๆ ) ซึ่งคุณไม่ต้องพิจารณาในความท้าทายนี้ วงกลมสีเทาในพื้นหลังแทนวิธีที่คุณสามารถดิ้น flexagon คุณอยู่ในสถานะใดก็ตาม: มี 4 วิธีที่แตกต่างกันจะดิ้นมันที่เราเรียกเหล่านี้Left, Right, และUp Downคุณไม่ได้งอตามทิศทางเหล่านี้จริง ๆ บิตที่สำคัญคือบางอันอยู่ตรงข้ามกัน หากคุณอยู่ในศูนย์กลางคุณสามารถใช้LeftและRightไปยังศูนย์อื่น ๆ จะได้รับจากศูนย์ที่คุณใช้และUp Downหากคุณไม่ได้อยู่ตรงกลางคุณจะไม่สามารถใช้งานได้LeftRightหรือ Left/Down = clockwise Right/Up = …

4
สร้างจำนวนเต็ม n n กำลังสองด้วยการหมุน * ในมุมที่สมบูรณ์
วัตถุประสงค์คือเพื่อสร้างเอาต์พุตของ n squares (nxn) ของจำนวนเต็มแบบสุ่ม ( 0-9) ด้วยการเคลื่อนที่*ที่หมุนตามเข็มนาฬิกาไปรอบ ๆ มุมโดยเริ่มจากด้านบนซ้าย สี่เหลี่ยมควรอยู่เคียงข้างกันและคั่นด้วยช่องว่างเดียว ถ้าn = 0เอาต์พุตควรว่างเปล่า เอาท์พุทสำหรับn=1: * เอาท์พุทสำหรับn=2: *3 4* 14 07 เอาท์พุทสำหรับn=3: *34 82* 291 453 224 924 145 158 57* เอาท์พุทสำหรับn=4: *153 135* 0154 0235 2352 5604 3602 2065 2245 6895 3561 7105 7225 5785 479* *662 สังเกตว่าการ*หมุน (รอบมุมของสี่เหลี่ยม) …

2
คำที่พบมากที่สุดสิบร้อยคำ
คำถามนี้เขียนขึ้นเพราะ"สิ่งที่ผู้อธิบาย"เป็นเรื่องสนุกที่จะอ่านและทำให้ฉันมีความคิด เขียน "สิ่งที่ทำให้คอมพิวเตอร์ทำสิ่งต่าง ๆ " ที่อ่าน / รับชุดตัวอักษรตัวเลขและสิ่งต่าง ๆ เช่นนี้"#%|?และส่งคืนTrue / 1ถ้าคำทั้งหมดเป็นส่วนหนึ่งของชุดนี้ หากคำทั้งหมดไม่ได้เป็นส่วนหนึ่งของชุดนั้นให้คืนคำที่ไม่ได้เป็นส่วนหนึ่งของคำนั้น เว็บไซต์นี้ถือว่าถูกต้องในทุกกรณี กฎถูกเขียนขึ้นเพื่อทำตามข้อกำหนดบนไซต์นั้น ตัวอย่าง: ความจริง : รหัสควรคืนค่าความจริงหากข้อความทั้งหมดเหนือเส้นแนวนอนแรกถูกวางเป็นอินพุต บรรทัดต่อไปนี้ควรคืนค่าความจริง (อินพุตถูกคั่นด้วย###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

2
มาสร้างแผนที่ของดันเจี้ยนกันเถอะ
นานมาแล้วเมื่อฉันใช้เวลาในการเล่นเกม RPG มากขึ้นหนึ่งในปัญหาที่ผู้เล่นบางคนมีคือการติดตามความเคลื่อนไหวของปาร์ตี้และวาดแผนที่ที่เหมาะสม ดังนั้นฉันจึงมีความคิดเพื่อตรวจสอบว่าพวกคุณจัดการกับปัญหานี้อย่างไร ภารกิจคือการเขียนฟังก์ชั่นซึ่งใช้เป็นรายการพารามิเตอร์อินพุตของทิศทาง (ผ่านเป็นโครงสร้างที่คุณเลือก) ^v<>, แสดงแผนที่ของดันเจี้ยน ในตัวอย่างสำหรับอินพุต: >>>vvv<<<^^^เอาต์พุตจะเป็น: +----+ +----+ | | |>>>v| | ++ | |^++v| | ++ | because |^++v| | | |^<<<| +----+ +----+ Testcases >>>>>>vvvvv<<<<^^^>>v +-------+ | | +-+---+ | | | | | + | | | +-+ | | | +-----+ ^^^^^vvv<<<^^vv>>>>>>>>vv>><<^^^^v>>>>v^<^ …
9 code-golf 

1
ปืนใหญ่ไปได้ที่ไหน
บทนำ เกมเซียงฉีหรือที่รู้จักกันในชื่อหมากรุกจีนเป็นเกมหมากรุกที่ได้รับความนิยมในประเทศจีนเวียดนามไต้หวันและประเทศอื่น ๆ ในเอเชียตะวันออก สีของทั้งสองฝ่ายในเซียงกิเป็นสีแดงและดำ เซียงกิมีเจ็ดชิ้น: นายพล ( G), ที่ปรึกษา ( A), ช้าง ( E), ม้า ( H), ราชรถ ( R), ปืนใหญ่ ( C), และทหาร ( S) สำหรับจุดประสงค์ของการท้าทายชิ้นส่วนตัวพิมพ์ใหญ่ถือว่าเป็นสีแดงและตัวพิมพ์เล็กเป็นสีดำ ชิ้นส่วนเหล่านี้ส่วนใหญ่มีความเท่าเทียมกันในหมากรุกตะวันตก แต่มีชิ้นเดียวที่ไม่เหมือนใคร: ปืนใหญ่ ปืนใหญ่ย้ายเช่นโกงในเกมหมากรุกหรือรถม้าในหมากรุกเป็น (ย้ายจำนวนของช่องว่างในทั้ง X หรือแกน Y ใด ๆ ) แต่ไม่สามารถโจมตีด้วยวิธีนี้ แต่มันโจมตีโดยการกระโดดพร้อม X หรือ Y แกน (แบบเดียวกับที่มันเคลื่อน) มากกว่าหนึ่งชิ้นส่วนของสีใด ๆ (เพื่อนหรือศัตรู) และเชื่อมโยงไปเกี่ยวกับชิ้นส่วนที่อยู่ตรงข้ามสีซึ่งมันก็จับ …

8
การสะกดการันต์ในยุคกลาง
งาน งานของคุณคือการแปลงข้อความเป็นการสะกดการันต์ในยุคกลาง รายละเอียด jจะถูกแปลงiและการJI uและUที่จุดเริ่มต้นของคำจะถูกแปลงเป็นvและVตามลำดับ vและVที่ใดก็ได้ยกเว้นจุดเริ่มต้นของคำจะถูกแปลงเป็นuและUตามลำดับ sจะถูกแปลงเป็นſ(U + 017F) sเว้นแต่ในตอนท้ายของคำหรือนำหน้าด้วยอีก รายละเอียด abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZคำที่ถูกกำหนดให้เป็นลำดับของตัวอักษรใน ทุกคำจะมีตัวอักษรอย่างน้อยสองตัว ข้อมูลที่ป้อนจะประกอบด้วยอักขระ ASCII ที่พิมพ์ได้เท่านั้น(U + 0020 - U + 007E) sจะมีการเกิดขึ้นของมากกว่าสองติดต่อกัน นั่นคือsssจะไม่เป็นสตริงย่อยของอินพุต Testcases คำเดี่ยว: Input Output ------------------------ Joy Ioy joy ioy Universe Vniuerſe universe vniuerſe Success Succeſs successfull ſucceſsfull Supervise Superuiſe supervise ſuperuiſe Super-vise Super-viſe I've I've majors …

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