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

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

22
ทำให้ตัวละครฝนตก
แรงบันดาลใจจากการแชทขนาดเล็กที่ท้าทาย รับสตริงเป็นอินพุต (อักขระที่พิมพ์ได้ ASCII เท่านั้น) ส่งออกสตริงด้วยตัวอักษร "raining" down ตัวอักษรแต่ละตัวจะต้องเป็นจำนวนสุ่มของบรรทัดลง (สุ่มระหว่าง0และความยาวของสตริงแต่ละคนมีความน่าจะเป็นไม่เป็นศูนย์) และตัวละครเดียวต่อคอลัมน์ เอาต์พุตที่เป็นไปได้ทั้งหมดต้องมีความน่าจะเป็นที่ไม่เป็นศูนย์อีกครั้งที่จะเกิดขึ้น อาจจะสับสนเล็กน้อยดังนั้นนี่เป็นตัวอย่าง (นำมาจาก CMC นั้น): Hello World d H o llo l W e r โปรดสังเกตว่าการHเว้นช่องว่างหนึ่งช่องเป็นเท่าไรdและlloทั้งหมดเกิดขึ้นในแนวนอน ที่rอยู่ไกลที่สุดลงไปที่9แต่ก็ยังน้อยกว่าความยาวของสตริงที่อยู่ห่างจากด้านบน นี่เป็นเพียงตัวอย่างหนึ่งที่มีหลายสิบของความเป็นไปได้อื่น ๆ Hello Worldสำหรับการป้อนข้อมูล ตัวอย่างอื่น ๆ อาจเป็น: test t e s t PP&CG & G P P C เข้าและส่งออกจะได้รับโดยวิธีการที่สะดวกใด ๆ อินพุตมีการรับประกันว่าไม่ว่างเปล่า (เช่นคุณจะไม่ได้รับ""เป็นอินพุต) …

8
ทำให้ตัวอักษร
พิจารณารายการคำที่เรียงตามตัวอักษรต่อไปนี้: balderdash ballet balloonfish balloonist ballot brooding broom คำทั้งหมดเริ่มต้นด้วยbและ 5 balเริ่มต้นครั้งแรกกับ ถ้าเราแค่ดูที่ 2 คำแรก: balderdash ballet เราสามารถเขียนแทน: balderdash +let โดยที่' 'จะใช้โดยที่คำที่ใช้ร่วมกันอักขระนำหน้ากับคำก่อนหน้า; ยกเว้น'+'อักขระที่ระบุอักขระสุดท้ายที่คำที่สองใช้คำนำหน้าร่วมกับคำก่อนหน้า นี่คือการจัดเรียงของ'Trie'สร้างภาพ: ผู้ปกครองคือ ' bal' และมี 2 ลูกหลาน: และ'derdash''let' ด้วยรายการที่ยาวขึ้นเช่น: balderdash ballet brooding เราสามารถใช้อักขระไพพ์เพิ่มเติม'|'เพื่อให้ชัดเจนยิ่งขึ้นเมื่อคำนำหน้าที่ใช้ร่วมกันสิ้นสุดลงดังต่อไปนี้: balderdash | +let +rooding และต้นไม้ที่เทียบเท่าจะมีรากของ'b'การมีลูกสองคน: ทรีย่อยที่มีราก'al'และและลูกสองคน'derdash'และ'let'; 'rooding'และ หากเราใช้กลยุทธ์นี้กับรายการดั้งเดิมของเรา balderdash ballet balloonfish balloonist ballot brooding broom …
31 code-golf  string 

28
Count rook เคลื่อนไหว 1D
เมื่อกำหนดตำแหน่งที่มีแถวของ rooks และ / หรือช่องว่างให้ส่งออกจำนวน rook การเคลื่อนไหวที่แตกต่างกันได้ rook สามารถเลื่อนไปทางซ้ายหรือขวาไปยังพื้นที่ว่างได้ แต่ไม่ใช่ไปยังที่ที่ต้องผ่าน rook อื่น เมื่อ rook เคลื่อนที่ไป rooks อื่นจะยังคงอยู่ ตัวอย่างเช่นจากตำแหน่งนี้สามารถทำได้6 การเคลื่อนไหว : .R..RRR. rook แรก (ซ้ายสุด) สามารถเลื่อนไปทางซ้าย 1 ช่องหรือ 1 หรือ 2 ช่องทางด้านขวา (3 ย้าย) rook ถัดไปสามารถย้ายได้ 1 หรือ 2 ช่องทางซ้าย (2 ย้าย) rook ตัวที่สามไม่สามารถเคลื่อนที่ได้เลยเพราะมันถูกบีบระหว่าง rooks สองอัน (0 ท่า) โกงครั้งสุดท้ายสามารถย้าย 1 ช่องว่างด้านขวา …

19
หมายเลขตัวหารที่ไม่เป็นมิตร
ตัวหารบางตัวของจำนวนเต็มบวกเกลียดกันและพวกเขาไม่ต้องการแบ่งปันตัวเลขหนึ่งหลักหรือมากกว่า จำนวนเต็มเหล่านั้นเรียกว่าHostile Divisor Numbers ( HDN ) ตัวอย่าง Number 9566มี4ตัวหาร: 1, 2, 4783 and 9566 (อย่างที่คุณเห็นไม่มีสองคนที่มีตัวเลขเดียวกัน ) ดังนั้น9566จึงเป็นH ostile D ivisor N umber จำนวน9567เป็นไม่HDNเพราะตัวหารของ ( 1, 3, 9, 1063, 3189, 9567) แบ่งปันตัวเลขบางอย่างร่วมกัน นี่เป็นHDNแรกสองสามอัน 1,2,3,4,5,6,7,8,9,23,27,29,37,43,47,49,53,59,67,73,79,83,86,87,89,97,223,227,229,233,239,257,263,267,269,277,283,293,307,337... งาน รายการข้างต้นดำเนินต่อไปและหน้าที่ของคุณคือค้นหาHDNลำดับที่ n อินพุต จำนวนเต็มบวกnตั้งแต่1ถึง4000 เอาท์พุต nth HDN กรณีทดสอบ นี่คือกรณีทดสอบที่จัดทำดัชนี 1รายการ โปรดระบุระบบการจัดทำดัชนีที่คุณใช้ในคำตอบของคุณเพื่อหลีกเลี่ยงความสับสน input -> output 1 …

9
qvolume ของจำนวนเต็ม
It is ancient knowledge that every non-negative integer can be rewritten as the sum of four squared integers. For example the number 1 can be expressed as 02+02+02+1202+02+02+120^2+0^2+0^2+1^2. Or, in general, for any non-negative integer nnn, there exist integers a,b,c,da,b,c,da,b,c,d such that n=a2+b2+c2+d2n=a2+b2+c2+d2n = a^2+b^2+c^2+d^2 Joseph-Louis Lagrange proved this in …

30
ผลรวมของพลังของ 2
ความท้าทาย ได้รับการป้อนข้อมูลจำนวนเต็มxที่กลับผลของผู้มีอำนาจของทั้งสองว่าเมื่อสรุปให้1 <= x <= 255x ตัวอย่าง รับอินพุต: 86 โปรแกรมของคุณควรส่งออก: 64 16 4 2 การป้อนข้อมูล: 240 เอาท์พุท: 128 64 32 16 การป้อนข้อมูล: 1 เอาท์พุท: 1 การป้อนข้อมูล: 64 เอาท์พุท: 64 เอาท์พุทอาจมีค่าศูนย์ถ้ากำลังสองที่ไม่ได้อยู่ในผลรวม ยกตัวอย่างเช่นการป้อนข้อมูลการส่งออกเดือนพฤษภาคม650 64 0 0 0 0 0 1 เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในแต่ละภาษาจะเป็นผู้ชนะ
31 code-golf  binary  code-golf  sequence  integer  chess  code-golf  number  arithmetic  matrix  code-golf  code-golf  combinatorics  grid  set-partitions  code-golf  array-manipulation  graph-theory  code-golf  number  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  3d  code-challenge  restricted-source  printable-ascii  code-golf  board-game  code-golf  geometry  grid  code-golf  word-puzzle  code-golf  matrix  sorting  code-golf  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  code-golf  decision-problem  code-golf  math  number  arithmetic  restricted-source  code-golf  code-golf  number  integer  matrix  code-golf  date  code-golf  matrix  code-golf  sequence  combinatorics  chemistry  code-golf  array-manipulation  popularity-contest  code-golf  code-golf  natural-language  code-golf  number  integer  sorting  substitution  code-golf  string  number  date  encode  code-golf  decision-problem  code-golf  string  subsequence  code-golf  string  alphabet  code-golf 

3
เซลล์ที่ปลายรุ้ง
เราทุกคนรู้หรืออย่างน้อยก็เคยรู้จักbrainfuckหนึ่งในภาษาลึกลับที่มีชื่อเสียงและมีอิทธิพลมากที่สุด ในขณะที่การใช้งานส่วนใหญ่ใช้เทปที่ไม่มีที่สิ้นสุดคอมไพเลอร์ดั้งเดิมโดย Urban Müllerมีเทปเซลล์ 30000 เซลล์ ความจริงที่รู้จักกันน้อย * คือมีคุณค่าพิเศษจริง ๆ ในตอนท้ายของเทปสิ่งที่แทบไม่เคยมีปฏิสัมพันธ์กับในโปรแกรม brainfuck ทั่วไป ในขณะที่คุณสามารถพิมพ์ค่านี้ด้วย 29999 >s และ a ., brainfuck เป็นที่รู้จักสำหรับการแก้ปัญหาที่สั้นและกระชับดังนั้นเป้าหมายของคุณคือการพิมพ์ค่านี้ด้วยจำนวนอักขระขั้นต่ำ * นิยาย กฎ: ทบทวนคำแนะนำ brainfuck: +/ -: เพิ่ม / ลดเซลล์ปัจจุบันล้อมจาก 255 เป็น 0 เมื่อ 255 เพิ่มขึ้นและกลับกัน </ >: เลื่อนตัวชี้ไปทางซ้าย / ขวาบนเทป .: พิมพ์ค่าของเซลล์ปัจจุบัน [: ข้ามไปที่ตรงกัน]หากค่าที่เซลล์เป็น 0 ]: ข้ามไปที่ตรงกัน[หากค่าในเซลล์ไม่ใช่ 0 …

23
ฉันโอนรหัสที่มาคุณแปลงข้อมูล!
rip-offของrip-offของrip-offของrip-off ลงคะแนนโหวตเหล่านั้น! งานของคุณถ้าคุณต้องการที่จะยอมรับมันคือการเขียนโปรแกรม / ฟังก์ชั่นที่เอาต์พุต / ส่งกลับอินพุต / อาร์กิวเมนต์¹ ส่วนที่ยุ่งยากคือถ้าฉันแปลงรหัสต้นฉบับ²ของคุณผลลัพธ์ / ผลก็ต้องถูกเปลี่ยนเช่นกัน คุณสามารถเลือกชนิดข้อมูล 2D ที่โซลูชันของคุณสามารถยอมรับได้ ตัวอย่างเช่นรายการของรายการ, เมทริกซ์, รายการของสตริง, ฯลฯ ระบุสถานะที่มันจัดการ คุณอาจสันนิษฐานว่าอินพุตจะเป็นรูปสี่เหลี่ยมผืนผ้าเสมอและจะมีความยาว 1 หรือมากกว่าตามแต่ละมิติ สำหรับจุดประสงค์ในการเคลื่อนย้ายบรรทัดสั้น ๆ ในซอร์สโค้ดของคุณจะถูกพิจารณาว่าเป็นเบาะที่มีช่องว่างต่อท้ายจนกว่าจะเป็นรูปสี่เหลี่ยมผืนผ้า เนื่องจากนี่คือโค้ดกอล์ฟเป้าหมายคือการเพิ่มประสิทธิภาพนับจำนวนไบต์ของซอร์สโค้ดต้นฉบับ (ไม่ใช่เวอร์ชันที่ถูกย้าย) ตัวอย่าง สมมติว่าโซลูชันของคุณใช้เมทริกซ์ตัวเลขและซอร์สโค้ดของคุณคือ AB DEF และอินพุต / อาร์กิวเมนต์ของมันคือ [[1,2],[3,4],[5,6]]ข้อโต้แย้งของมันคือ ถ้าฉันเขียน AD BE F แทนและเรียกใช้ผลผลิต / [[1,3,5],[2,4,6]]ผลต้อง สมมติว่าโซลูชันของคุณใช้สตริงที่คั่นด้วยตัวป้อนบรรทัดและซอร์สโค้ดของคุณคือ ABC และอินพุต / อาร์กิวเมนต์ของมันคือ "96\n"ข้อโต้แย้งของมันคือ ถ้าฉันเขียน …

5
เครื่องเสมือน 8 บิต
พื้นหลัง ฉันชอบชิป 8 บิต 6502 แบบเก่าของฉัน มันสนุกมากที่จะไขความท้าทายบางอย่างที่นี่บน PPCG ในรหัสเครื่อง 6502 แต่บางสิ่งที่ควรจะง่าย (เช่นอ่านข้อมูลหรือส่งออกไปยัง stdout) นั้นยุ่งยากโดยไม่จำเป็นในรหัสเครื่อง ดังนั้นจึงมีความคิดคร่าวๆในใจของฉัน: คิดค้นเครื่องเสมือน 8 บิตของตัวเองที่ได้รับแรงบันดาลใจจาก 6502 แต่ด้วยการออกแบบที่ปรับเปลี่ยนให้ใช้งานได้มากกว่าสำหรับความท้าทาย เริ่มใช้บางสิ่งฉันรู้ว่านี่อาจเป็นความท้าทายที่ดีถ้าการออกแบบ VM ลดลงจนเหลือน้อยที่สุด :) งาน ใช้เครื่องเสมือน 8 บิตที่สอดคล้องกับข้อกำหนดต่อไปนี้ นี่คือโค้ดกอล์ฟดังนั้นการติดตั้งที่มีไบต์น้อยที่สุดจะชนะ อินพุต การใช้งานของคุณควรใช้อินพุตต่อไปนี้: ไบต์ที่ไม่ได้ลงนามเดียวpcนี่คือตัวนับโปรแกรมเริ่มต้น (ที่อยู่ในหน่วยความจำที่ VM เริ่มดำเนินการ0- ตาม) รายการไบต์ที่มีความยาวสูงสุดของ256รายการนี่คือ RAM สำหรับเครื่องเสมือน (ที่มีเนื้อหาเริ่มต้น) คุณสามารถรับอินพุตนี้ในรูปแบบที่สมเหตุสมผล เอาท์พุต รายการไบต์ซึ่งเป็นเนื้อหาสุดท้ายของ RAM หลังจาก VM ยกเลิก (ดูด้านล่าง) คุณสามารถสมมติว่าคุณได้รับการป้อนข้อมูลที่นำไปสู่การยกเลิกในที่สุด อนุญาตรูปแบบที่เหมาะสม …

23
คุณช่วยหยุดสำรับไพ่และเล่นได้แล้ว
ท้าทาย: การป้อนข้อมูล:รายการของจำนวนเต็มบวกที่แตกต่างกันอยู่ในช่วงต่อ A [1,list-size][1,list-size][1, \text{list-size}] ] เอาท์พุท:จำนวนเต็ม: จำนวนครั้งที่รายการเป็นระลอกคลื่นน้อย-สับ สำหรับรายการนี่หมายถึงรายการถูกแบ่งออกเป็นสองส่วนและแบ่งเป็นสองส่วน (เช่น riffle-shuffling รายการ[1,2,3,4,5,6,7,8,9,10]จะส่งผลครั้งเดียว[1,6,2,7,3,8,4,9,5,10]ดังนั้นสำหรับความท้าทายนี้อินพุต[1,6,2,7,3,8,4,9,5,10]จะส่งผลให้1) กฏท้าทาย: คุณสามารถสมมติว่ารายการจะมีจำนวนเต็มบวกในช่วง[1,list-size][1,list-size][1, \text{list-size}] (หรือ[0,list-size−1][0,list-size−1][0, \text{list-size}-1]หากคุณเลือกที่จะมี 0-indexed input-list) คุณสามารถสมมติว่ารายการอินพุตทั้งหมดจะเป็นรายการ riffle-shuffled ที่ถูกต้องหรือรายการที่เรียงลำดับซึ่งไม่ได้สับ (ในกรณีที่เอาต์พุตเป็น0) คุณสามารถสันนิษฐานว่ารายการอินพุตจะมีค่าอย่างน้อยสามค่า ตัวอย่างทีละขั้นตอน: การป้อนข้อมูล: [1,3,5,7,9,2,4,6,8] Unshuffling ครั้งหนึ่งมันเคยกลายเป็น: [1,5,9,4,8,3,7,2,6]เพราะทุกรายการแม้ 0 การจัดทำดัชนีมาก่อน[1, ,5, ,9, ,4, ,8]แล้วทุกรายการ 0 [ ,3, ,7, ,2, ,6, ]คี่จัดทำดัชนีหลังจากนั้น ยังไม่ได้สั่งรายการดังนั้นเราจึงดำเนินการต่อไป: การแยกรายการอีกครั้งจะกลายเป็น: [1,9,8,7,6,5,4,3,2] อีกครั้งกลายเป็น: [1,8,6,4,2,9,7,5,3] แล้ว: [1,6,2,7,3,8,4,9,5] …

21
จุดสุ่มบนทรงกลม
ความท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ไม่มีอินพุตและเอาต์พุตเวกเตอร์ที่มีความยาว111ในทิศทางสุ่มแบบตามหลักทฤษฏี นี่เทียบเท่ากับจุดสุ่มบนทรงกลมที่อธิบายโดยx2+ y2+ z2= 1x2+Y2+Z2=1x^2+y^2+z^2=1 ส่งผลให้เกิดการกระจายเช่นนี้ เอาท์พุต ทุ่นลอยสามอันจากการแจกแจงแบบสุ่มในทางทฤษฎีซึ่งสมการx2+y2+z2=1x2+y2+z2=1x^2+y^2+z^2=1มีค่าเป็นจริงถึงขีด จำกัด ที่แม่นยำ คำพูดที่ท้าทาย การกระจายแบบสุ่มจะต้องมีเครื่องแบบในทางทฤษฎี นั่นคือถ้าตัวสร้างตัวเลขสุ่มหลอกถูกแทนที่ด้วย RNG จริงจากตัวเลขจริงมันจะส่งผลให้มีการกระจายจุดสุ่มบนทรงกลมอย่างสม่ำเสมอ การสร้างตัวเลขสุ่มสามตัวจากการแจกแจงเครื่องแบบและการทำให้เป็นมาตรฐานนั้นไม่ถูกต้อง: จะมีอคติต่อมุมของพื้นที่สามมิติ ในทำนองเดียวกันการสร้างตัวเลขสุ่มสองตัวจากการแจกแจงเครื่องแบบและใช้พวกมันเป็นพิกัดทรงกลมนั้นไม่ถูกต้อง: จะมีอคติต่อขั้วของทรงกลม ความสม่ำเสมอที่เหมาะสมสามารถทำได้โดยอัลกอริทึมรวมถึง แต่ไม่ จำกัด เพียง: สร้างตัวเลขสุ่มสามตัวxxx , yyyและzzzจากการแจกแจงแบบปกติ (เกาส์เซียน) ประมาณ000และทำให้เป็นมาตรฐาน ตัวอย่างการนำไปปฏิบัติ สร้างสามตัวเลขสุ่มxxx , yyyและzzzจากเครื่องแบบกระจายอยู่ในช่วง(−1,1)(−1,1)(-1,1) ) คำนวณความยาวของเวคเตอร์โดยl=x2+y2+z2−−−−−−−−−−√l=x2+y2+z2l=\sqrt{x^2+y^2+z^2} 2 จากนั้นถ้าl>1l>1l>1ให้ปฏิเสธเวกเตอร์และสร้างชุดตัวเลขใหม่ มิฉะนั้นถ้าl≤1l≤1l \leq 1ให้เวกเตอร์เป็นปกติและกลับผลลัพธ์ ตัวอย่างการนำไปปฏิบัติ สร้างตัวเลขสุ่มสองตัวที่iiiและjjjจากการแจกแจงเครื่องแบบในช่วง(0,1)(0,1)(0,1)และแปลงให้เป็นพิกัดทรงกลมดังนี้: θϕ=2×π×i=cos−1(2×j−1)θ=2×π×iϕ=cos−1⁡(2×j−1)\begin{align}\theta &= 2 \times \pi \times i\\\\\phi &= …

10
ค้นหาผลิตภัณฑ์ดอทของ Rationals
ฉันอยู่ที่บ้านเพื่อนเพื่อทานอาหารค่ำและพวกเขาแนะนำแนวคิดของ "พื้นที่เวกเตอร์ไพรม์แฟคเตอร์" ในพื้นที่นี้จำนวนเต็มบวกจะแสดงเป็นเวกเตอร์ดังกล่าวที่n TH องค์ประกอบในเวกเตอร์คือจำนวนครั้งที่n TH แบ่งนายกจำนวน (โปรดทราบว่านี่หมายความว่าเวกเตอร์ของเรามีจำนวนคำไม่ จำกัด ) ตัวอย่างที่20คือ 2 0 1 0 0 0 ... เพราะตัวประกอบที่สำคัญของมันคือ2 * 2 * 5 เนื่องจากการแยกตัวประกอบเฉพาะนั้นไม่เหมือนใครแต่ละตัวเลขจึงสอดคล้องกับเวกเตอร์หนึ่งตัว เราสามารถเพิ่มเวกเตอร์โดยการเพิ่มรายการของพวกเขาในแนวนอน นี่เหมือนกับการคูณตัวเลขที่สัมพันธ์กัน เราสามารถทำการคูณสเกลาร์ซึ่งคล้ายกับการเพิ่มจำนวนที่เกี่ยวข้องกับกำลัง ปัญหาคือว่าพื้นที่นี้ไม่ได้เป็นพื้นที่เวคเตอร์ในความเป็นจริงเพราะไม่มีผู้รุกราน ถ้าเราไปข้างหน้าและเพิ่มผู้รุกรานและปิดพื้นที่เวกเตอร์ตอนนี้เรามีวิธีแสดงจำนวนตรรกยะเชิงบวกทุกอย่างในฐานะเวกเตอร์ ถ้าเราเก็บความจริงที่ว่าการบวกเวกเตอร์แทนการคูณ จากนั้นค่าผกผันของจำนวนธรรมชาติคือส่วนกลับของ ตัวอย่างเช่นหมายเลข20มีเวกเตอร์ 2 0 1 0 0 0 ... ดังนั้นเศษส่วน1/20จึงเป็นค่าผกผัน -2 0 -1 0 0 0 ... ถ้าเราอยากหาเวกเตอร์ที่เกี่ยวข้องกับเศษส่วนเช่น14/15เราก็จะได้14 1 0 …

9
ป้ายทะเบียนของฉันมีกี่จุด
(นี่คือคำถามรหัสกอล์ฟครั้งแรกของฉัน) เมื่อฉันยังเป็นเด็กพ่อของฉันและฉันคิดค้นเกมที่แผ่นป้ายทะเบียนรถที่เราเห็นบนรถสามารถให้คะแนนตามกฎง่ายๆ: จำนวน X ของตัวอักษรหรือตัวเลขเดียวกันให้ X-1 คะแนนตัวอย่าง: 22 = 1 point aa = 1 point 5555 = 3 points ตัวเลขต้องอยู่ถัดจากแต่ละคนดังนั้น3353ให้ 1 คะแนนเท่านั้นเนื่องจาก 5 แบ่งลำดับของ 3 ลำดับของตัวเลข X ในลำดับจากน้อยไปหามากหรือจากมากไปน้อยอย่างน้อย 3 ให้เป็นคะแนน X ตัวอย่าง: 123 = 3 points 9753 = 4 points 147 = 3 points ระบบคะแนนใช้งานได้กับตัวเลข 1 หลักเท่านั้นดังนั้น1919อย่าให้แต้มและ14710ให้ 3, (147) เท่านั้น …
31 code-golf  string 

30
การจำลองการกระจายลูกเต๋า
งานของคุณคือการสร้างโปรแกรมที่ใช้จำนวนเต็มn > 1และแสดงผลการหมุนของnแม่พิมพ์แบบด้านเดียว อย่างไรก็ตามลูกเต๋านี้เป็นไปตามกฎระเบียบสำหรับการระเบิดลูกเต๋า เมื่อคุณหมุนแม่พิมพ์ให้ตรวจสอบค่าที่คุณสะสม หากคุณมีค่าสูงสุดสำหรับการตายชนิดนั้น (บน d4 มาตรฐานที่จะเป็น 4 หรือ 6 ใน d6 เป็นต้น) ให้หมุนอีกครั้งและเพิ่มการม้วนใหม่ไปยังผลรวมนั้น แต่ละม้วนจะเพิ่มไปยังผลรวมจนกว่าคุณจะไม่หมุนหมายเลขสูงสุดอีกต่อไป หมายเลขสุดท้ายนั้นยังคงถูกเพิ่มเข้ามา โปรแกรมของคุณควรใช้จำนวนเต็มหนึ่งตัวnและหมุนตัวnตายด้านระเบิด นี่คือการกระจายตัวอย่างที่จะแสดงสิ่งที่มันควรมีลักษณะเหมือน n=4โปรดทราบว่าคุณไม่ควรส่งออกทวีคูณใด ๆเนื่องจากจะระเบิดเสมอn คุณสามารถสันนิษฐานได้ว่าสแต็คขนาดสำหรับการเรียกซ้ำใด ๆ ที่คุณทำคือไม่มีที่สิ้นสุดและฟังก์ชั่นแบบสุ่มของคุณต้องเป็นไปตามมาตรฐานของเราสำหรับการสุ่ม (ในตัวเครื่องกำเนิดไฟฟ้าแบบสุ่มหรือเวลา / วัน ) ฟังก์ชั่นการสุ่มของคุณควรจะสม่ำเสมอที่สุดเท่าที่จะเป็นไปได้เทียบกับการกระจายตัวแบบเรขาคณิตเพราะนี่คือลูกเต๋าที่เรากำลังพูดถึง
31 code-golf  random 

30
ฉันเป็นตัวเองหรือไม่
จำนวนตัวเอง (เรียกว่ายังมีจำนวนโคลอมเบียหรือ Devlali) เป็นจำนวนธรรมชาติxที่สมการมีโซลูชั่นสำหรับจำนวนธรรมชาติใดn + <digit sum of n> = x ๆ nยกตัวอย่างเช่น21ไม่ได้เป็นจำนวนตนเองเป็นผลในการn = 15 15 + 1 + 5 = 21ในขณะที่20 เป็นจำนวนตัวเองที่ไม่nสามารถพบได้ซึ่งตอบสนองความเท่าเทียมกัน เนื่องจากคำจำกัดความนี้อ้างถึงผลรวมหลักจึงขึ้นอยู่กับฐาน สำหรับจุดประสงค์ของการท้าทายนี้เราจะพิจารณาตัวเลขฐาน 10 ตัวเท่านั้นซึ่งเป็นลำดับA003052ใน OEIS เลขฐานสอง ( A010061 ) และหมายเลขฐาน 100 ( A283002 ) ยังได้รับการปรับเทียบ ความท้าทาย รับจำนวนเต็มบวกxเป็นอินพุตให้ส่งออกค่าจริงถ้าxเป็นตัวเลขตัวเองในฐาน 10 และค่าความเท็จเป็นอย่างอื่น สำหรับการชี้แจงของ truthy และ falsey ค่าอ้างอิงไปยังโพสต์เมตานี้ในเรื่อง คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบและอาจมีการป้อนข้อมูลและเอาท์พุทในช่องสัญญาณปกติ แน่นอนช่องโหว่มาตรฐานถูกห้าม นี่คือcode-golfดังนั้นยิ่งคำตอบของคุณสั้นลงเท่านั้น …

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