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

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

11
การเปลี่ยนแปลง N-bit ในเซตย่อยรวม
สำหรับความท้าทายอื่นที่ฉันกำลังเขียนฉันต้องตรวจสอบว่ากรณีทดสอบสามารถแก้ไขได้ด้วยจำนวนเต็มที่มีขอบ โดยเฉพาะฉันต้องตรวจสอบสิ่งต่อไปนี้สำหรับอาร์เรย์ที่ไม่ว่างเปล่าของจำนวนเต็มAและความกว้างบิตจำนวนเต็มn: จำนวนเต็มทั้งหมดที่aอยู่ในAความพึงพอใจ-2**(n-1) <= a < 2**(n-1)(สามารถแสดงได้ด้วยnจำนวนเต็มแบบเต็มของบิตสอง) ความยาวของมีค่าน้อยกว่าA2**n ผลรวมของการตอบสนองA-2**(n-1) <= sum(A) < 2**(n-1) การรวมองค์ประกอบAทั้งหมดเข้าด้วยกันเป็นไปตามเงื่อนไขข้างต้นทั้งหมด โดยธรรมชาติฉันได้ตัดสินใจที่จะส่งต่อปัญหานี้ให้คุณ! กำหนดอาร์เรย์ของจำนวนเต็มAและความกว้างบิตจำนวนเต็มบวกnตรวจสอบว่าAตรงตามเงื่อนไขข้างต้น กรณีทดสอบ [0, 0, 0], 2: True [0, 0, 0, 0], 2: False (violates #2) [1, 2, 3, 4, 5], 8: True [1, 2, 3, 4, 5], 2: False (violates all conditions) [1, 2, 3, …

14
รายการปรับสมดุล
บทนำ สมมติว่าฉันมีรายชื่อของจำนวนเต็มพูดL = [-1,2,2,1,2,7,1,4] ฉันชอบที่จะมีความสมดุลในชีวิตของฉันดังนั้นฉันมีความสุขที่ได้เห็นมันมีองค์ประกอบแปลก ๆ มากมายเช่นเดียวกับองค์ประกอบ ยิ่งไปกว่านั้นมันยังมีองค์ประกอบจำนวนเท่ากันในคลาสโมดูโลทั้งหมด 3 ตัวที่มีองค์ประกอบใน: [-1,2,2,1,2,7,1,4] 0 mod 3: 1 mod 3: 1 7 1 4 2 mod 3: -1 2 2 2 น่าเสียดายสำหรับคลาสโมดูโลของ 4 นี้ไม่มีอีกต่อไป โดยทั่วไปเราบอกว่ารายการที่ไม่ว่างเปล่าคือโมดูโลแบบสมดุลNหากมีจำนวนองค์ประกอบเท่ากันในคลาสโมดูโลทั้งหมดของNซึ่งจำนวนนี้ไม่ใช่ 0 รายการด้านบนLคือโมดูโลแบบสมดุล 2 และ 3 แต่แบบโมดูโลแบบไม่สมดุล 4 งาน ข้อมูลที่คุณป้อนเป็นรายการที่ไม่ว่างLของจำนวนเต็มในรูปแบบที่เหมาะสม ผลลัพธ์ของคุณคือรายการของจำนวนเต็มN ≥ 2ซึ่งLเป็นโมดูโลแบบสมดุลNอีกครั้งในรูปแบบที่สมเหตุสมผล ลำดับของผลลัพธ์ไม่สำคัญ แต่ไม่ควรมีรายการที่ซ้ำกัน มันรับประกันได้ว่ามีเพียงจำนวน จำกัด ในผลลัพธ์ซึ่งหมายความว่าองค์ประกอบทั้งหมดของLเกิดขึ้นไม่เท่ากัน ตัวอย่างของปัจจัยการผลิตที่ไม่ถูกต้อง[3] …

1
จะลดขนาด EXE ของ x86 ASM ที่คอมไพล์ด้วย FASM ได้อย่างไร?
ในการออกกำลังกายฉันได้สร้างวิธีแก้ปัญหาง่ายๆสำหรับความท้าทายนี้ในภาษาแอสเซมบลี x86 ฉันกำลังใช้งาน FASM บน Windows นี่คือรหัสที่มาของฉัน: format PE console entry start include 'WIN32A.inc' section '.text' code executable start: push char ; Start at 'A' call [printf] ; Print the current letter 4 times call [printf] call [printf] call [printf] inc [char] ; Increment the letter cmp [char], 'Z' ; …

7
แผ่นตัวอักษรสำหรับเด็กของฉันถูกจัดกลุ่มตามสีอย่างเหมาะสมหรือไม่?
ลูก ๆ ของฉันมีแผ่นตัวอักษรเพื่อเล่นด้วยเช่นนี้: หลังจากหลายเดือนที่วางแผ่นกระเบื้องแบบสุ่มฉันก็เหนื่อยและวางกระเบื้องทั้งหมดของเสื่อที่จัดกลุ่มตามส่วนต่าง ๆ ตามสีพื้นหลังของพวกเขา ดังนั้นถ้าตัวอักษรแสดงสีพื้นหลังฉันได้เสื่อแบบนี้: AABBCDDDE ABBCCCDEE ABCCCCDDE AACCCDDEE AAAACCCCE AAAAAACCC ดังนั้นสำหรับสี A, B, C, D และ E มักจะมีวิธีการเชื่อมต่อกระเบื้องทั้งหมดด้วยสีพื้นหลังเดียวกันทั้งแนวนอนหรือแนวตั้งในเสื่อ นั่นคือสิ่งที่ฉันเรียกเสื่อที่จัดกลุ่มตามสีอย่างเหมาะสม คุณสามารถดูกลุ่มสำหรับตัวอย่างก่อนหน้าในตารางต่อไปนี้: AA A A AA AAAA AAAAAA BB BB B C CCC CCCC CCC CCCC CCC DDD D DD DD E EE E EE E นอกจากนี้มีเพียงกลุ่มเดียวสำหรับทุกสีดังนั้นสิ่งนี้จะไม่ถูกต้อง: ABA ABA …

27
คำนวณจำนวนต่ำสุดที่ผลรวมของลำดับตัวเลขเกินค่าที่กำหนด
ให้คุณมีลำดับหมายเลขที่ไม่สิ้นสุดกำหนดดังนี้: 1: 1 = 1 2: 1 + 2 = 3 3: 1 + 3 = 4 4: 1 + 2 + 4 = 7 5: 1 + 5 = 6 6: 1 + 2 + 3 + 6 = 12 7: 1 + 7 = 8 ... ลำดับคือผลรวมของตัวหารของnรวมทั้งที่ 1 …
14 code-golf  math 

30
การแยกตัวประกอบ 2 ปัจจัย
รับจำนวนธรรมชาติเขียนโปรแกรมหรือฟังก์ชั่นที่จะได้รับรายชื่อทั้งหมดที่เป็นไปคูณสองปัจจัยที่สามารถนำมาใช้เพื่อให้บรรลุn nเพื่อทำความเข้าใจสิ่งที่จะแกล้งทำเป็นว่าคุณสามารถไปที่http://factornumber.com/?page=16777216เพื่อดูว่าเมื่อnเป็น16777216ที่เราได้รับรายการต่อไปนี้: 2 × 8388608 4 × 4194304 8 × 2097152 16 × 1048576 32 × 524288 64 × 262144 128 × 131072 256 × 65536 512 × 32768 1024 × 16384 2048 × 8192 4096 × 4096 ไม่จำเป็นต้องพิมพ์สิ่งสวย ๆ ที่นี่ ความต้องการคือแต่ละรายการ (คู่ปัจจัย) มีความแตกต่างจากกันและกันและภายในแต่ละคู่ปัจจัยแรกก็แตกต่างกันเช่นกัน หากคุณเลือกที่จะกลับรายการ / อาร์เรย์องค์ประกอบภายในอาจจะเป็นรายการ / อาร์เรย์มีสององค์ประกอบหรือโครงสร้างบางส่วนของภาษาของคุณที่สนับสนุนคู่ของสิ่งเช่น std::pairC …

30
ผนวกและลบ
รับหนึ่งบรรทัดที่ประกอบด้วยตัวอักษรเท่านั้นดำเนินการดังต่อไปนี้: คุณรักษาสตริงที่ว่างเปล่าไว้ตั้งแต่แรก หากอักขระอินพุตถัดไปอยู่ในสตริงให้ลบออกจากสตริง หากอักขระอินพุตถัดไปไม่อยู่ในสตริงให้ต่อท้ายสตริง เอาต์พุตสถานะสุดท้ายของสตริง คุณสามารถสันนิษฐานได้อย่างปลอดภัยว่าอินพุตประกอบด้วยอักขระอย่างน้อยหนึ่งตัว (เช่นไม่ว่างเปล่า) แต่ไม่มีการรับประกันว่าเอาต์พุตจะไม่ว่างเปล่า Pseudocode (รู้สึกอิสระที่จะเล่นกอล์ฟนี้): str = EMPTY for each character ch in input if ch exists in str remove all ch from str else append ch to str print str ^[A-Za-z]+$การป้อนข้อมูลที่ตรงกับการแสดงออกปกติ กรณีทดสอบตัวอย่าง: ABCDBCCBE -> ADCBE ABCXYZCABXAYZ -> A aAABBbAbbB -> aAbB GG -> (empty) …
14 code-golf  string 

8
รวมการเชื่อมต่อจุดสุดยอด
สมมติว่าคุณมีจำนวนเต็มบวกN ขั้นแรกให้สร้างรูปหลายเหลี่ยมแบบปกติที่มีจุดยอดNโดยมีระยะห่างระหว่างจุดยอดที่อยู่ใกล้เคียงเป็น 1 จากนั้นเชื่อมต่อเส้นจากจุดสุดยอดทุกจุดไปยังจุดสุดยอดอื่น ๆ สุดท้ายคำนวณความยาวของบรรทัดทั้งหมดที่รวมเข้าด้วยกัน ตัวอย่าง รับอินพุตN = 6สร้างรูปหกเหลี่ยมที่มีเส้นเชื่อมทุกจุดยอดด้วยจุดยอดอื่น อย่างที่คุณเห็นมีเส้นขอบ 6 เส้น (ความยาว = 1), 3 เส้นที่มีความยาวเส้นขอบสองเท่า (ความยาว = 2) และอีก 6 เส้นที่เราใช้โดยทฤษฎีบทพีทาโกรัสสามารถคำนวณความยาวสำหรับ , ซึ่งเป็น ถ้าเราเพิ่มความยาวของเส้นร่วมกันเราจะได้รับ(6 * 1) + (3 * 2) + (6 * 1.732) = 22.392 ข้อมูลเพิ่มเติม เนื่องจากโครงสร้างที่มีจุดยอด 2 หรือน้อยกว่านั้นไม่ถือว่าเป็นรูปหลายเหลี่ยมเอาต์พุต 0 (หรือNaNเนื่องจากระยะห่างระหว่างจุดยอดเดียวไม่สมเหตุสมผล) สำหรับ N = 1 เนื่องจากจุดยอดเดียวไม่สามารถเชื่อมต่อกับจุดยอดอื่น …

14
สองชื่อแรก
บุคคลที่มีสองชื่อหากนามสกุลของพวกเขายังเป็นชื่อสามัญ คุณได้รับมอบหมายให้กำหนดชื่อเต็มในรายชื่อสองชื่อแรก John Smith John Doe Luke Ryan Ryan Johnson Jenna Jackson Tom John ชื่อใด ๆ ที่เกิดขึ้นในคอลัมน์ชื่ออาจเป็นชื่อแรก หากจำนวนการเกิดขึ้นของชื่อในคอลัมน์ชื่อแรกที่มีมากขึ้นกว่าจำนวนของเหตุการณ์ที่เกิดขึ้นในคอลัมน์ชื่อสุดท้ายก็เป็นที่แน่นอนชื่อแรก ในรายการด้านบนJohnจะปรากฏสองครั้งในชื่อแรกและอีกครั้งในชื่อสุดท้ายดังนั้นจึงเป็นชื่อจริง Ryanปรากฏขึ้นครั้งแรกในครั้งแรกและครั้งสุดท้ายจึงเป็นชื่อ ดังนั้นจึงTom Johnมีชื่อจริงสองชื่อและLuke Ryanอาจเป็นเช่นนั้น รับรายการด้านบนรหัสของคุณควรส่งออกต่อไปนี้: Luke Ryan has two first names Tom John definitely has two first names อินพุต ตามที่กล่าวไว้ข้างต้นรหัสของคุณจะอยู่ในรายการชื่อเต็ม (จากอินพุตมาตรฐานหนึ่งรายการต่อบรรทัด) คั่นด้วยช่องว่าง ชื่อสามารถรวมยัติภังค์หรือ apostrophes แต่คุณจะไม่ได้รับชื่อหรือนามสกุลที่มีช่องว่าง (คือไม่มีLiam De Rosaแต่Liam De-RosaหรือLiam De'Rosaมีความยุติธรรมเกม. ในคำอื่น …
14 code-golf  string 

27
ภาษา RLE Brainfuck
RLE Brainfuck (เกี่ยวข้องกับBF-RLE ) สมมติฐาน RLE ( Run-Length Encoding ) ของ Brainfuck ยอมรับสัญลักษณ์สำหรับ 8 คำสั่งและยอมรับตัวเลข ตัวเลขถูกใช้เพื่อแสดงจำนวนการทำซ้ำที่ต่อเนื่องของคำสั่งดังนั้นการอนุญาตให้เข้ารหัสแบบ run-length ของซอร์สโค้ด 8>>>>>>>>>จะมีค่าเท่ากับ ความยาวอยู่ที่ด้านซ้ายของคำสั่งเสมอ งานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นที่สั้นที่สุดซึ่งแปลสตริงอินพุต (RLE Brainfuck ส่วน) เป็นโปรแกรม Brainfuck ปกติ ตัวอย่างเช่น: การป้อนข้อมูล: 10+[>+>3+>7+>10+4<-]3>2+.>+.7+2.3+.2<2+.>15+.>.3+.6-.8-.2<+.<. Ouptut: ++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>++.>+.+++++++..+++.<<++.>+++++++++++++++.>.+++.------.--------.<<+.<. รหัสที่สั้นที่สุดในจำนวนไบต์ในแต่ละภาษาจะเป็นผู้ชนะ

14
ผลรวมสะสมแบบวนซ้ำของ [N] ด้วยการวนซ้ำ M
ใช้จำนวนเต็มบวกสองจำนวนNแล้วMสร้างผลบวกสะสม[N]โดยมีMการวนซ้ำ เอาต์พุตผลลัพธ์ของการวนซ้ำล่าสุด คำจำกัดความของผลรวมสะสมตัดแบ่ง: เริ่มต้นด้วยตัวเลขNและกำหนดลำดับX = [N] ผนวกกับXผลรวมสะสมของX ทำซ้ำขั้นตอนที่ 2 Mครั้ง ผลรวมสะสมของเวกเตอร์X = [x1, x2, x3, x4]คือ: [x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]. ตัวอย่างด้วยN = 1และM = 4: P = ฟังก์ชันผลรวมสะสม M = 0: [1] M = 1: [1, 1] - X = [1, P(1)] = [[1], [1]] M = 2: [1, 1, …
14 code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

2
ชอบเส้นทางส่วน; สัมผัสเป็นครั้งแรก
กำหนดรายการคาร์ทีเซียน 2 จุดหรือมากกว่าที่สั่งให้เอาท์พุทค่าความจริงหากเส้นทางสัมผัสกับตัวเองหรือตัดกันเอง; มิฉะนั้นให้ส่งค่าที่ผิดพลาดหากไม่ได้สัมผัสตัวเองหรือตัดกันเอง คุณอาจคิดว่าคะแนนต่อเนื่องในรายการนั้นแตกต่างกัน ตัวอย่าง: (0,0), (1,0) -> falsey (0,0), (1,0), (0,0) -> truthy (0,0), (1,0), (1,1), (0,0) -> truthy (0,0), (2,0), (1,1), (1,-1) -> truthy (0,0), (10,0), (0,1), (10,1), (0,2), (10,2) -> falsey สังเกตพิกัดทั้งหมดที่ฉันให้ที่นี่เป็นจำนวนเต็ม คุณอาจสนับสนุนการป้อนข้อมูลเข้าของสิ่งที่คุณต้องการจาก {จำนวนเต็มทศนิยมทศนิยมเหตุผลลอยตัว ... } แต่การคำนวณการใช้งานของคุณจะต้องให้คำตอบที่ถูกต้องสำหรับอินพุตที่กำหนด

30
เฉพาะช่วงเวลาที่ไม่ซ้ำกันกี่ครั้ง
วิธีหนึ่งในการแทนจำนวนธรรมชาติคือการคูณเลขชี้กำลังของจำนวนเฉพาะ ตัวอย่างเช่น 6 สามารถแทนด้วย 2 ^ 1 * 3 ^ 1 และ 50 สามารถแทนได้ด้วย 2 ^ 1 * 5 ^ 2 (โดยที่ ^ หมายถึง exponention) จำนวนของจำนวนเฉพาะในการเป็นตัวแทนนี้สามารถช่วยในการกำหนดว่ามันจะสั้นกว่าที่จะใช้วิธีการเป็นตัวแทนนี้เมื่อเทียบกับวิธีการอื่น ๆ แต่เนื่องจากฉันไม่ต้องการคำนวณสิ่งเหล่านี้ด้วยตนเองฉันต้องการโปรแกรมที่จะทำเพื่อฉัน อย่างไรก็ตามเนื่องจากฉันจะต้องจำโปรแกรมจนกว่าฉันจะถึงบ้านจึงต้องสั้นที่สุด งานของคุณ: เขียนโปรแกรมหรือฟังก์ชั่นเพื่อกำหนดจำนวนช่วงเวลาที่แตกต่างกันในการแทนตัวเลข การป้อนข้อมูล: จำนวนเต็ม n เช่นที่ 1 <n <10 ^ 12 ถ่ายโดยวิธีปกติ เอาท์พุท: จำนวนของช่วงเวลาที่แตกต่างกันซึ่งจำเป็นต้องใช้เพื่อแสดงอินพุตตามที่อธิบายไว้ในบทนำ กรณีทดสอบ: 24 -> 2 (2^3*3^1) 126 -> …

25
กระโดดหมายเลข
งาน พิมพ์จำนวนเต็ม n, ที่ไหน12 <= n <= 123456789และทุกคู่หลักติดต่อกันใน n มีความแตกต่างในเชิงบวกระหว่างพวกเขา (เช่น 2468 แต่ไม่ 2469) ไม่มีอินพุต เอาท์พุท: 12 13 14 15 16 17 18 19 23 24 25 26 27 28 29 34 35 36 37 38 39 45 46 47 48 49 56 57 58 59 67 68 69 78 …

19
ลำดับ Euro-iginal
กำหนดจำนวนเต็มบวกnเอาท์พุทจำนวนn -th ของลำดับยูโร - เดิม การคำนวณลำดับ ลำดับนี้เท่ากับ OEIS A242491 A242491 ตัวเลขเป็นส่วนหนึ่งของลำดับที่กล่าวหากสามารถสร้างตัวเลขได้โดยใช้เหรียญยูโรหรือธนบัตรที่ต่างกัน แต่มีเพียงหนึ่งในจำนวนนั้นเพียงหนึ่งของแต่ละโปรดทราบว่าคุณไม่ต้องพิจารณาเซ็นต์ ตัวอย่าง: 6 จะอยู่ในลำดับเนื่องจากอาจประกอบด้วยเหรียญ 1 ยูโรและธนบัตร 5 ยูโร 4 จะไม่อยู่ในลำดับเนื่องจากไม่สามารถเกิดขึ้นกับข้อกำหนดที่กำหนด เพื่อให้ภาพรวมของทุกคนอยู่ในรายการที่มีค่าเงินยูโรคุณต้องพิจารณา: 1 €, 2 €, 5 €, 10 €, 20 €, 50 €, 100 €, 200 €, 500 € โปรดทราบว่าลำดับนี้มีตั้งแต่ 0 (ใช่รวม 0!) ถึง 888 นี่คือ 15 องค์ประกอบแรกของลำดับนี้: 0, …

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