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

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

11
การคำนึงถึงขนาดตัวพิมพ์เป็นสิ่งสำคัญหรือไม่?
ทอมกำลังใช้ภาษาโปรแกรมใหม่ของสิ่งประดิษฐ์ของเขา แต่ก่อนที่จะเริ่มทำงานจริงเขาต้องการทราบว่าภาษาของเขาควรตรงตามตัวพิมพ์ใหญ่ - เล็กหรือไม่ ในแง่หนึ่งกรณีของ insensitivity ดูเหมือนจะง่ายต่อการปรับใช้กับเขา แต่เขากังวลว่ามันอาจทำให้เกิดการขาดความเป็นไปได้ของการรวมกันของตัวละครที่เป็นตัวแปรซึ่งหมายความว่าควรใช้ชื่อตัวแปรที่ยาวขึ้นเพื่อหลีกเลี่ยงการตั้งชื่อ ตัวอย่างเช่นคุณสามารถใช้Hello, HEllo, heLLoและพวงของความเป็นไปได้อื่น ๆ ถ้าภาษาที่เป็นกรณีที่สำคัญ แต่HELLOหากไม่ได้) แต่ทอมเป็นคนที่พิถีพิถันดังนั้นความกังวลก็ไม่เพียงพอสำหรับเขา เขาต้องการรู้ตัวเลข ความท้าทาย เขียนฟังก์ชั่น (หรือโปรแกรมเต็มรูปแบบหากภาษาของคุณไม่รองรับ) ที่กำหนดจำนวนเต็มnเป็นอินพุตเอาต์พุต (หรือส่งคืน) ความแตกต่างของจำนวนพีชคณิตที่เป็นไปได้สำหรับสตริงที่nมีความไวของตัวพิมพ์เล็กและตัวพิมพ์เล็ก ในภาษาของทอมชื่อตัวแปรสามารถรวมตัวอักษรตัวอักษรขีดล่างและเริ่มจากตัวอักษรตัวที่สองตัวเลข Testcases Input (length of the variable) -> Output (difference between the possibilities with case sensitivity and the possibilities with case insensitivity) 0 -> 0 1 -> 26 …

12
สลับเลขชี้กำลังสำคัญกับเพื่อนบ้าน
(ติดตามคำถามของฉันเกี่ยวกับการแลกเปลี่ยนบิตกับเพื่อนบ้าน ) งาน รับจำนวนเต็มบวกx = (2 a · 3 b ) · (5 c · 7 d ) · (11 e · 13 f ) ·… , พิมพ์จำนวนเต็มที่ได้รับโดยการสลับเลขชี้กำลังในการแยกตัวประกอบสำหรับแต่ละช่วงของคู่y = (2 b · 3 a ) · (5 d · 7 c ) · (11 f · 13 e ) · …
13 code-golf  primes 

8
มาริโอสามารถไปที่จุดสิ้นสุดของแผนที่นี้ได้ไหม
สร้างโปรแกรมที่กำหนดได้รับการป้อนข้อมูลของเส้นทางไม่ว่าจะเป็นมาริโอสามารถถึงจุดสิ้นสุดที่แสดงโดยจากการเริ่มต้นที่แสดงโดยES เส้นทางจะมีลักษณะดังนี้: S = E ===== ในเส้นทางสัญลักษณ์ต่าง ๆ และสิ่งที่เป็นตัวแทนคือ: =: ผนัง / พื้น / เพดาน มาริโอไม่สามารถเดินทะลุกำแพงและไม่สามารถล้มลงบนพื้นหรือกระโดดข้ามเพดาน (เขาจะตีหัว) (ช่องว่าง): อากาศ มาริโอสามารถเดินผ่านสิ่งนี้และกระโดดผ่านมันและผ่านมันไป S: อากาศยกเว้นการแสดงตำแหน่งที่มาริโอเริ่ม สิ่งนี้จะปรากฏในคอลัมน์ซ้ายสุดของอินพุตที่ระดับพื้นดิน E: อากาศยกเว้นแสดงตำแหน่งที่มาริโอต้องการรับ สิ่งนี้จะปรากฏในคอลัมน์ขวาสุดของอินพุตที่ระดับพื้นดิน อินพุตจะมีช่องว่างในทุกที่ที่มาริโอสามารถเดินได้ มาริโอสามารถก้าวไปข้างหน้าเท่านั้น ในตัวอย่างนี้มาริโอไม่สามารถไปถึงเป้าหมายได้ S === === E ==== และเขาไม่สามารถอยู่ในนี้ E == == #== == == == S == ====== อย่างไรก็ตามเขาสามารถเข้าถึงพื้นที่ที่แสดงด้วย#(ซึ่งจะไม่ปรากฏในอินพุต) เนื่องจากเขาสามารถกระโดดได้สูงถึงสี่เซลล์สูง มาริโอเป็นมนุษย์ธรรมดา เป็นอีกตัวอย่างหนึ่งของความเหนือมนุษย์ของเขา: S …

4
"keybore" ของฉันคือกุญแจสำคัญสำหรับฉัน! ช่วยฉันค้นหาการกดแป้นที่น้อยที่สุด
เครดิตให้กับ@ Agawa001สำหรับการถามคำถามนี้ คำอธิบาย ใหม่ของฉัน "keybore" มีเพียง 2 ปุ่มคือและ+- 0ตัวเลขที่อยู่ในหน่วยความจำเริ่มต้นที่ ติดต่อกันแต่ละกด+หรือ-จะเพิ่มขึ้น / ลดลงหน่วยความจำสำหรับว่ากี่ครั้งก็ถูกกดอย่างต่อเนื่อง ดังนั้นหากคุณกด+4 ครั้งครั้งแรกที่มันเพิ่ม 1 ครั้งที่สองจะเพิ่ม 2 ครั้งที่สามเพิ่ม 3 ครั้งที่สี่เพิ่ม 4 ให้คุณ10(สิบ) ทีนี้ถ้าคุณกด-3 ครั้งครั้งแรกที่มันลบ 1 ครั้งที่สอง 2 ครั้งที่สามครั้งที่ 3 ปล่อยคุณด้วย4(สี่) TL; DR รับสตริง + และ - ให้แบ่งแต่ละการเปลี่ยนแปลงของตัวละคร จากนั้นแต่ละสตริงผลลัพธ์ของ+สัญลักษณ์m จะเพิ่มหมายเลขสามเหลี่ยม m-th และแต่ละสตริงของ-สัญลักษณ์n จะลบหมายเลขสามเหลี่ยม n-th เดินผ่าน ตอนนี้ถ้าคุณยังไม่เข้าใจผมจะแสดงวิธีการสร้าง+++--+--1 Program | Counter | Memory …


1
แยกวิเคราะห์ภาษา 1D
รับสตริงที่มีเพียง 0 ของ 1, 2 และวงเล็บส่งออกต้นไม้ไวยากรณ์ของสตริง A 2ต้องการ 2 อาร์กิวเมนต์ - หนึ่งทางซ้ายและอีกหนึ่งทางขวา 1ต้องอาร์กิวเมนต์เดียว - ทั้งด้านซ้ายหรือขวา 0ไม่จำเป็นต้องมีข้อโต้แย้งใด ๆ และเป็นกรณีฐาน คู่ของวงเล็บจะนับเป็นหนึ่งอาร์กิวเมนต์และเนื้อหาของวงเล็บจะถูกประเมินแยกจากส่วนที่เหลือของสตริง วงเล็บเหลี่ยมที่เป็นไปได้ สตริงอินพุตจะเป็นต้นไม้ที่สมบูรณ์โดยไม่มีตัวอักษรตกลงมา สตริงจะมีโซลูชันที่ถูกต้องเพียงครั้งเดียวเท่านั้น โปรดทราบว่าฟังก์ชั่นเป็นสลับและการจัดเรียงของข้อโต้แย้งใด ๆ ที่2จะได้รับการยอมรับ คุณจะไม่ต้องจัดการกับอินพุตที่ไม่เป็นไปตามข้อกำหนดเหล่านี้ รูปแบบไวยากรณ์เอาต์พุตจะอยู่ในรูปแบบfunction(arguments)วนซ้ำ กรณีทดสอบ 0 --> 0 01 --> 1(0) 020 --> 2(0,0) 101 --> 1(1(0)) 0120 --> 2(1(0),0) 0120210 --> 2(1(0),2(0,1(0))) 01210 --> 2(1(0),1(0)) (020)210 …

3
ฉันปีนขึ้นไปได้เท่าไหร่
ในคำศัพท์การปีนเขา "14er" เป็นภูเขาใด ๆ ที่มีระดับความสูง 14,000 ฟุตขึ้นไป อย่างไรก็ตามมีความแตกต่างอื่น สำหรับจุดสูงสุดที่จะนับเป็น 14er ก็จะต้องมี "ความโดดเด่นทางภูมิศาสตร์" 300 หรือมากกว่าฟุต ซึ่งหมายความว่าหากต้องการย้ายจากที่หนึ่งไปอีกที่หนึ่ง 14er คุณต้องลงมาอย่างน้อย 300 ฟุตก่อนจะลุกขึ้นอีกครั้ง นำตัวอย่างนี้ บรรทัดที่ 1 นับเป็น 14,000 ฟุตและแต่ละบรรทัดนับเป็น 100 ฟุต /\__/\ / \ / \ ตอนนี้ยอดเขาทั้งสองนี้มีระดับความสูงพอที่จะนับได้ แต่ไม่มีระดับความสูงที่ลดลงระหว่างพวกเขาที่จะนับเป็นยอดเขาสองแยก ดังนั้นหนึ่งในจำนวนเหล่านี้นับเป็น 14er และอีกอันหนึ่งเป็นเพียง "ยอดบางส่วน" นี่คือตัวอย่างที่ยอดเขาทั้งสองนับเป็น 14er แยกกัน: /\ /\ / \ / \ / \/ \ …

8
เมทริกซ์ตรีโกณมิติ
บทนำ ฟังก์ชันตรีโกณมิติที่พบมากที่สุดสองแบบsineและcosine(หรือsinและcosสำหรับระยะสั้น) สามารถขยายเป็นฟังก์ชันที่มีค่าเมทริกซ์ได้ วิธีหนึ่งในการคำนวณ analogs ที่มีค่าเมทริกซ์มีดังนี้: พิจารณาอัตลักษณ์ตรีโกณมิติที่สำคัญสองประการนี้: การใช้ข้อมูลเฉพาะตัวเหล่านี้เราสามารถหาสมการต่อไปนี้sinและcos: ชี้แจงเมทริกซ์ที่มีอยู่สำหรับตารางการฝึกอบรมทั้งหมดและจะได้รับโดย: ที่0เป็นตัวตนของเมทริกซ์ฉันมีขนาดเดียวกับ โดยใช้เมทริกซ์เอ็กซ์โปเนนเชียลฟังก์ชันตรีโกณมิติทั้งสอง (และฟังก์ชันตรีโกณมิติอื่นทั้งหมด) สามารถประเมินเป็นฟังก์ชันของเมทริกซ์ ความท้าทาย กำหนดตารางเมทริกซ์ออกค่าของและsin(A)cos(A) กฎระเบียบ อินพุตและเอาต์พุตอาจอยู่ในรูปแบบที่สะดวกและเหมาะสม (อาร์เรย์ 2 มิติรูปแบบเมทริกซ์ของภาษาของคุณ ฯลฯ ) คุณสามารถเขียนโปรแกรมเดียวสองโปรแกรมอิสระฟังก์ชั่นเดียวหรือสองฟังก์ชั่น หากคุณเลือกที่จะเขียนสองฟังก์ชันรหัสอาจถูกใช้ร่วมกันระหว่างพวกเขา (เช่นการนำเข้าและฟังก์ชั่นผู้ช่วย) ค่าของเมทริกซ์อินพุตจะเป็นจำนวนเต็มเสมอ วิธีแก้ไขปัญหาของคุณอาจมีปัญหาความแม่นยำเนื่องจากการกำหนดจุดลอยตัว หากภาษาของคุณมีค่าความแม่นยำไร้ขีด จำกัด อย่างน่าอัศจรรย์โซลูชันของคุณควรทำงานได้อย่างสมบูรณ์แบบ (ไม่สนใจข้อเท็จจริงที่ว่าต้องใช้เวลาและ / หรือหน่วยความจำไม่ จำกัด ) อย่างไรก็ตามเนื่องจากค่าความแม่นยำไม่มีที่สิ้นสุดวิเศษเหล่านั้นไม่มีอยู่ความไม่ถูกต้องที่เกิดจากความแม่นยำที่ จำกัด จึงเป็นที่ยอมรับได้ กฎนี้มีไว้เพื่อหลีกเลี่ยงภาวะแทรกซ้อนที่เกิดจากการกำหนดจำนวนความแม่นยำเฉพาะในผลลัพธ์ ไม่อนุญาตให้สร้างฟังก์ชันตรีโกณมิติตรีโกณมิติสำหรับเมทริกซ์อาร์กิวเมนต์ (รวมถึงฟังก์ชั่นไฮเปอร์โบลิกตรีโกณมิติ) เมทริกซ์บิวด์อินอื่น ๆ (เช่นการคูณการยกกำลังเส้นทแยงมุมการสลายตัวและเมทริกซ์เลขชี้กำลัง) ได้รับอนุญาต กรณีทดสอบ รูปแบบ: A -> sin(A), …

13
ผลิตภัณฑ์ Fibonacci
คุณสามารถแยกตัวเลขที่มากกว่า 0 เป็นผลรวมที่ไม่ซ้ำกันของตัวเลขฟีโบนักชีบวก ในคำถามนี้เราทำได้โดยการลบจำนวนฟีโบนัชชีบวกที่ใหญ่ที่สุดซ้ำไปซ้ำมา เช่น: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 ตอนนี้ฉันเรียกผลิตภัณฑ์ Fibonacciว่าเป็นรายการเดียวกันกับข้างบน แต่ด้วยการเพิ่มถูกแทนที่ด้วยการคูณ ตัวอย่างเช่นf(100) = 89 * 8 * 3 = 2136. เขียนโปรแกรมหรือฟังก์ชั่นที่ให้จำนวนเต็มบวกnส่งคืนผลคูณของฟีโบนักชีของตัวเลขนั้น Testcases: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

8
แปลงเป็นเลขโรมัน!
งานของคุณคือการแปลงจำนวนเต็มบวกที่กำหนดจากเลขอารบิกเป็นตัวเลขโรมัน ทุกอย่างยากขึ้นเมื่อคุณนับถึง 4,000 1 000ชาวโรมันทำอย่างนี้โดยการเพิ่มบรรทัดข้างต้นสัญลักษณ์การคูณสัญลักษณ์โดยที่ อย่างไรก็ตามการซ้อนทับไม่สามารถแสดงได้อย่างแน่นอนใน ASCII นอกจากนี้ยังมีการโอเวอร์ไลน์สองครั้งเพื่อทวีคูณสัญลักษณ์โดย1 000 000และจากนั้นสามโอเวอร์ไลน์เพื่อคูณสัญลักษณ์โดย1 000 000 000ฯลฯ ... ดังนั้นฉันจึงตัดสินใจใช้วงเล็บเพื่อแทนที่การวางซ้อน สัญลักษณ์สามารถวางแยกกันในวงเล็บ ยกตัวอย่างเช่นทั้งสอง(VI)และเป็นตัวแทนที่ถูกต้อง(V)(I) ยังเป็นตัวแทนที่ถูกต้องของ 60006 000(V)M (I)1 000เป็นวิธีที่ถูกต้องที่จะเป็นตัวแทน Testcases Input: 1 Output: I Input: 2 Output: II Input: 3 Output: III Input: 4 Output: IV Input: 15 Output: XV Input: 40 Output: XL Input: 60 Output: …

21
วิ่งผ่านอาร์เรย์
เราทุกคนมักจะได้ยินสำนวน "เดินผ่านอาร์เรย์" เพื่อหมายถึง "แมปฟังก์ชั่นผ่านอาร์เรย์ต่อไปนี้" อย่างไรก็ตามฉันต้องการมัน (ตอนนี้!) ดังนั้นฉันต้องการให้คุณวิ่งผ่านอาร์เรย์ ฉันจะวิ่งได้อย่างไร ลองนึกภาพว่ามีฝูงหมาป่าดุร้ายอยู่ข้างหลังคุณ การวิ่งผ่านอาเรย์นั้นเหมือนกับการเดินผ่านหนึ่งยกเว้นคุณสามารถข้ามองค์ประกอบ ใช่บางครั้งมันก็ยุ่ง แต่ก็ใช้งานได้ (โดยทั่วไป) "องค์ประกอบใดที่ถูกข้ามไป" คุณอาจถาม ทีนี้นี่เป็นการสุ่ม เรามาเดินผ่านอาร์เรย์กันเถอะ! อนุญาตeเป็นองค์ประกอบปัจจุบัน อนุญาตสร้างลอยสุ่มrandom [0,1)หากrandom() < 0.5คุณไปที่องค์ประกอบถัดไปจากนั้นไปที่ขั้นตอนที่ 1 (คุณอาจสร้างตัวเลขด้วยวิธีอื่นตราบใดที่พวกเขายังมีโอกาสเท่ากันในการข้ามและยังคงอยู่เช่นคุณสามารถใช้เลือกองค์ประกอบจาก สมาชิกสองคนตั้งค่าและดำเนินการตามผลลัพธ์) มิฉะนั้นคุณปฏิบัติหน้าที่ในfe วัตถุประสงค์ รับ array / list / string อย่างใดอย่างหนึ่งAและจำนวนKวิ่งผ่านอาร์เรย์เพิ่มKให้สมาชิกแต่ละคนเข้าถึง เอาท์พุท / กลับอาร์เรย์นี้ Aจะมีจำนวนเต็มไม่เป็นลบเท่านั้นและKจะเป็นจำนวนเต็มไม่ลบเท่านั้น นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ (ตัวอย่าง) K, A => possible K' [1, 2, 3, 4], …

5
ระบุมาตรา Conic
รับ 5 คะแนนที่แตกต่างบนระนาบสองมิติ, กำหนดประเภทของส่วนรูปกรวยที่เกิดขึ้นจากคะแนน เอาท์พุทจะเป็นหนึ่งในcircle, hyperbola, หรือellipseparabola กฎระเบียบ คะแนนจะอยู่ในตำแหน่งเชิงเส้นทั่วไปซึ่งหมายความว่าไม่มีจุดสามจุดเป็นเส้นตรงและทำให้รูปกรวยที่ผ่านจุดเหล่านั้นจะไม่ซ้ำกัน พิกัดของ 5 คะแนนจะเป็นตัวเลขทศนิยมระหว่าง -10 ถึง 10 รวม ความแม่นยำสำหรับค่าทศนิยม / ทศนิยมควรเป็นความแม่นยำของประเภททศนิยม / ทศนิยมของภาษาของคุณ หากภาษา / ชนิดข้อมูลของคุณมีความแม่นยำตามอำเภอใจคุณอาจใช้ตัวเลข 12 หลักหลังจุดทศนิยมเป็นความแม่นยำสูงสุดที่ต้องการโดยปัดเศษเป็นศูนย์ (เช่น1.0000000000005 == 1.000000000000) การใช้ประโยชน์จากตัวพิมพ์ใหญ่ของผลผลิตไม่สำคัญ การส่งออกellipseเมื่อส่วนที่มีรูปกรวยเป็นวงกลมไม่ได้รับอนุญาต แวดวงทั้งหมดเป็นวงรี แต่คุณต้องส่งออกวงกลมที่เฉพาะเจาะจงมากที่สุด เกี่ยวกับความไม่ถูกต้องของจุดลอยตัวและความแม่นยำ: ฉันกำลังพยายามทำให้เรื่องนี้ง่ายที่สุดเท่าที่จะทำได้เพื่อให้ปัญหาเกี่ยวกับความไม่ถูกต้องของจุดลอยตัวไม่เข้าทาง เป้าหมายคือถ้าประเภทข้อมูลเป็น "ค่าความแม่นยำไม่มีที่สิ้นสุดวิเศษ" แทนการลอย / สองครั้งทุกอย่างจะทำงานได้อย่างสมบูรณ์แบบ แต่เนื่องจากไม่มี "ค่าความแม่นยำอนันต์มหัศจรรย์" คุณเขียนโค้ดที่ถือว่าค่าของคุณนั้นมีความแม่นยำไม่สิ้นสุดและปัญหาใด ๆ ที่เกิดขึ้นเนื่องจากความไม่ถูกต้องของจุดลอยตัวคือคุณสมบัติไม่ใช่ข้อบกพร่อง กรณีทดสอบ (0, 0), (1, 5), …
13 code-golf  math 

13
ในระหว่างเศษส่วน
ในระหว่างเศษส่วน ความท้าทาย: คุณจะต้องสร้างรหัสที่ใช้เวลาอย่างน้อย 3 อินพุต 2 จำนวนเต็มและ "การแทนเศษส่วน" - ประเภทใดที่เหมาะกับภาษาของคุณสำหรับการเพิ่มขึ้นของเศษส่วน) เช่น หากคุณเลือกสตริงอินพุตจะเป็น "1/4" หรือคุณสามารถเลือกอินพุตจำนวนเต็มพิเศษ 2 รายการหรือ tuple หรือ w / e อินพุตสามารถทำได้ทุกที่ที่เหมาะสม (STDIN, อาร์กิวเมนต์ของฟังก์ชั่น, จากไฟล์, เป็นต้น), และสามารถส่งออกได้ (STDOUT, ค่าส่งคืนของฟังก์ชัน, ไปยังไฟล์, ฯลฯ ) กฎ: อินพุต "เศษส่วน" จะเป็นเศษส่วนที่ถูกต้องน้อยกว่า 1 เสมอ ตัวอย่าง "1/4" จำนวนเต็มอินพุตที่สองจะมีค่าสูงกว่าจำนวนเต็มแรกเสมอ IE จำนวนเต็มอินพุตแรกจะมีค่าต่ำกว่าเสมอ จำนวนเต็มอินพุทอาจเป็นค่าลบ เศษส่วนที่ออกมาควรจะลดลงให้มากที่สุด (ประยุกต์) รหัสจะต้องส่งออกทุก "เศษส่วนขั้นตอน" ระหว่าง 2 …

6
จำนวนเวทมนตร์ของความยาวที่กำหนด
โปรแกรมของคุณจะต้องป้อนข้อมูล ( nเพื่อจุดประสงค์ในการอธิบาย) และเอาท์พุทการเรียงสับเปลี่ยนทั้งหมดของตัวเลขที่เป็นnตัวเลขที่มีความยาวโดยไม่ต้องมีตัวเลขที่ซ้ำกันโดยที่ตัวเลขแต่ละตัวข้างหน้าและรวมถึงดัชนีของมัน . คุณสามารถอ่านข้อมูลเกี่ยวกับหมายเลขมายากลที่นี่ กฎ: 1 <= n <= 10 ไม่สามารถใส่ตัวเลขซ้ำได้ ต้องมี 0 นำหน้า (ถ้ามี) ครั้งที่ 1 ผ่านxหลักของจำนวนวันที่ (เริ่มต้นด้วยตัวอักษรตัวแรกเป็น 1) ต้องหารด้วยxเช่นใน30685, 3หารด้วย 1 30หารด้วย 2 306หารด้วย 3 3068หารด้วย 4 และ30685เป็น divislbe 5 . โปรแกรมจะต้องใช้จำนวนเต็มเป็นอินพุต (ผ่านบรรทัดคำสั่งเป็นอาร์กิวเมนต์ของฟังก์ชั่น ฯลฯ ) และพิมพ์พีชคณิตทั้งหมดที่เป็นไปตามกฎ เอาต์พุตต้องถูกคั่นด้วยอักขระเว้นวรรค 1 ตัวหรือมากกว่า การเรียงสับเปลี่ยนอาจเริ่มต้นและมีค่าเป็นศูนย์ (ดังนั้นจึงไม่ใช่ตัวเลขทางเทคนิค ) ลำดับของเอาต์พุตไม่สำคัญ คุณไม่จำเป็นต้องจัดการกับอินพุตที่ไม่คาดคิด อักขระตัวน้อยเป็นไบต์ชนะ ตัวอย่าง …

3
วาดเป็นเกลียวในกล่อง
เกลียวเรขาคณิตนี้ดูซับซ้อน แต่การวาดค่อนข้างง่าย ใช้กล่องต่อไปนี้: ลากเส้นตรงระหว่างมุมของกล่องและระยะห่างที่กำหนดเหนือมุมทวนเข็มนาฬิกา ทำรูปแบบนี้ต่อไปด้านในอยู่ห่างจากมุมของบรรทัดถัดไปเสมอ นี่คืออีกไม่กี่บรรทัด อย่างที่คุณเห็นเมื่อรูปแบบยังคงดำเนินต่อไปเกลียวหมุนเข้าหาศูนย์กลางและกล่องที่คุณวาดเริ่มหมุน โปรดทราบว่าระยะทางยังคงที่โดยไม่คำนึงถึงมุม ความท้าทาย The Inspiration (และต้องขอบคุณบุคคลที่ยอดเยี่ยมที่แนะนำแนวคิดนี้ <3) กำหนดอินพุต (อาจเป็นเศษส่วน) ตัวเลขตั้งแต่ 1 ถึง 25 เขียนรูปภาพลงดิสก์ที่ใช้รูปแบบนี้หรือแสดงผลลัพธ์บนหน้าจอโดยที่ระยะห่างจากแต่ละมุมคือระยะทางของด้านเริ่มต้นหนึ่งของกล่องหารด้วยอินพุต . ทำต่อไปด้านในของลวดลายจนกว่าระยะทางจากมุมที่ระบุจะยาวกว่าความยาวของด้านถัดไป กฎระเบียบ คุณไม่สามารถใช้บิวด์อินสำหรับการสร้างเกลียวนี้ แต่คุณอาจใช้บิวด์อินประมวลผลภาพ หากคุณเขียนลงดิสก์คุณจะต้องส่งรูปภาพใน. jpg, .gif, .tiff, .pbm, .ppm และ. png ใด ๆ ความยาวด้านเริ่มต้นต้องมีอย่างน้อย 500 พิกเซล มุมเริ่มต้นอาจเป็นมุมใดก็ได้ที่คุณเลือก และเช่นเคยช่องโหว่มาตรฐานจะไม่ได้รับอนุญาต

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