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

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

4
บำบัดกลุ่ม: ระบุกลุ่ม
เขียนโปรแกรมที่กำหนดว่าตารางการคูณของแมกมาไฟต์ที่กำหนดนั้นแสดงถึงกลุ่มหรือไม่ magma เป็นชุดที่มีการดำเนินการแบบไบนารีที่ปิดนั่นหมายความว่า สำหรับทั้งหมด a, b ใน G, a * b กลับเป็น g (ปิด) อีกครั้ง ให้ (G, *) เป็นแมกมา (G, *) เป็นกลุ่มถ้า สำหรับ a, b, c ใน G, (a * b) * c = a * (b * c) (ความเกี่ยวข้อง) มีองค์ประกอบ e ใน G เช่นนั้น e * a = a …

16
สร้าง MathJax สำหรับอัตราส่วนทองคำอย่างต่อเนื่อง
ในความคาดหมายของMathJax ที่ถูกปิดใช้งานชั่วคราว MathJax ที่แสดงผลในคำถามนี้จะถูกแทนที่ด้วยรูปภาพ คุณยังคงยินดีที่จะโพสต์ตอบ แต่คุณจะต้องไปดูการแสดงผล MathJax บนเว็บไซต์อื่น PPCG เพิ่งได้ MathJax ! ซึ่งหมายความว่าตอนนี้เราสามารถรวมสูตรทางคณิตศาสตร์ที่มีรูปแบบที่ดีไว้ในโพสต์ได้อย่างง่ายดาย ( บทช่วยสอน MathJax ที่มีประโยชน์ ) ตัวอย่างเช่นนี่คืออัตราส่วนทองคำที่แสดงเป็นเศษส่วนต่อเนื่องที่ไม่มีที่สิ้นสุด: รหัส MathJax สำหรับสมการนี้คือ $$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$ คุณสามารถค้นหาโดยคลิกขวาสูตรและต่อไปนี้แสดงคณิตศาสตร์ในฐานะ → เท็กซ์คำสั่ง หมายความว่ามันจะปรากฏบนตัวของมันเองอยู่ในใจกลางของหน้าแทนแบบอินไลน์ ใช้ซิงเกิ้ลสำหรับอินไลน์$$$ ท้าทาย เขียนโปรแกรมที่ใช้จำนวนเต็มไม่ใช่ลบ n และเอาท์พุทรหัส MathJax สำหรับ "ขั้นตอน" หลายส่วนของเศษส่วนต่อเนื่องสำหรับอัตราส่วนทองคำ เพื่อให้สิ่งที่มาตรฐานในคำตอบที่คุณต้องใช้นี้แน่นอนไวยากรณ์ MathJax: สำหรับ n = 0, $$\varphi=1+\dots$$เอาท์พุทจะต้องเป็น ซึ่งแสดงผลเป็น: สำหรับ n = 1, $$\varphi=1+\cfrac1{1+\ddots}$$เอาท์พุทจะต้องเป็น ซึ่งแสดงผลเป็น: …

7
พาร์ติชันคำศัพท์ที่เรียงของตัวเลข
ความท้าทายนั้นง่ายมาก: เมื่อได้ตัวเลขคุณจะแบ่งตัวเลขออกเป็นอาเรย์ของตัวเลขที่เล็กลงซึ่งตัวเลขที่ได้จะไม่ลดลง การจับคือคุณต้องแยกมันให้ยาวที่สุด สับสน? คุณจะได้รับจำนวนเต็มบวกผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด) อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ฟังก์ชันในรูปแบบอินพุตที่สะดวกและชัดเจน คุณต้องแบ่งตัวเลขทศนิยมให้เป็นกลุ่มที่ต่อเนื่องกัน อาร์เรย์ของตัวเลขที่แสดงโดยกลุ่มหลักเหล่านี้ควรเรียงลำดับ (ตามลำดับปกติไม่ลด) โดยไม่ต้องจัดเรียงกลุ่มใหม่ ในกรณีที่มีพาร์ติชั่นดังกล่าวมากกว่าหนึ่งตัวคุณต้องแบ่งพาร์ติชันอินพุตให้เป็นตัวเลขให้ได้มากที่สุด ในกรณีของความสัมพันธ์ให้ส่งคืนผลลัพธ์หนึ่งรายการ คุณสามารถส่งออกอาร์เรย์เพื่อ STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด) หรือเป็นค่าตอบแทนการทำงาน ในกรณีของ STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด) อาร์เรย์ควรพิมพ์ในรูปแบบรายการที่สะดวกและไม่คลุมเครือ ตัวเลขที่แยกไม่ควรมีเลขศูนย์นำหน้า ดังนั้นสำหรับตัวอย่างเช่น1002003ไม่สามารถพิมพ์ออกมาเป็นอย่างใดอย่างหนึ่ง[1, 002, 003]หรือและคำตอบที่ถูกต้องเพียงเพราะมันเป็น[1, 2, 3][100, 2003] กรณีทดสอบ: 123456 -> [1, 2, 3, 4, 5, 6] 345823 -> [3, 4, 5, 8, 23] 12345678901234567890 -> [1, 2, 3, …

6
ติดตามเฉดสีของรูปภาพ
โหลดภาพในตัวอย่างสแต็กนี้แล้วเลื่อนเมาส์ไปวางเหนือภาพ เส้นโค้งสีดำที่ตามมุมสีเริ่มต้นที่จุดเคอร์เซอร์ของคุณจะถูกวาด: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><style>canvas{border:1px solid black;}</style>Load an image: <input type='file' onchange='load(this)'><br><br>Max length <input id='length' type='text' value='300'><br><br><div id='coords'></div><br><canvas id='c' width='100' height='100'>Your browser doesn't support the HTML5 canvas tag.</canvas><script>function load(t){if(t.files&&t.files[0]){var e=new FileReader;e.onload=setupImage,e.readAsDataURL(t.files[0])}}function setupImage(t){function e(t){t.attr("width",img.width),t.attr("height",img.height);var e=t[0].getContext("2d");return e.drawImage(img,0,0),e}img=$("<img>").attr("src",t.target.result)[0],ctx=e($("#c")),ctxRead=e($("<canvas>"))}function findPos(t){var e=0,a=0;if(t.offsetParent){do e+=t.offsetLeft,a+=t.offsetTop;while(t=t.offsetParent);return{x:e,y:a}}return void 0}$("#c").mousemove(function(t){function e(t,e){var a=ctxRead.getImageData(t,e,1,1).data,i=a[0]/255,r=a[1]/255,o=a[2]/255;return Math.atan2(Math.sqrt(3)*(r-o),2*i-r-o)}if("undefined"!=typeof img){var a=findPos(this),i=t.pageX-a.x,r=t.pageY-a.y;$("#coords").html("x = "+i.toString()+", y = "+r.toString());var o=parseInt($("#length").val());if(isNaN(o))return …

9
ประเมินห่วงโซ่ของความไม่เท่าเทียมกัน
เขียนโค้ดเพื่อประเมินว่าสายโซ่ของความไม่เท่าเทียมกันเป็นจริงหรือเท็จ ตัวอย่างอินพุตคือสตริง 3<=4!=9>3==3 สิ่งนี้เป็นจริงเพราะองค์ประกอบแต่ละอย่างเป็นจริง: (3<=4) and (4!=9) and (9>3) and (3==3) การป้อนข้อมูล: สตริงที่แสดงถึงสายโซ่ของความไม่เท่าเทียมกันอย่างน้อยหนึ่งรายการ ตัวดำเนินการเปรียบเทียบที่อนุญาตคือ == equals != does not equal > is greater than >= is greater than or equal to < is less than <= is less than or equal to ตัวเลขที่ได้รับอนุญาตเป็นตัวเลขหลักเดียวผ่าน0 9ไม่มีช่องว่างวงเล็บหรือสัญลักษณ์อื่น ๆ เอาท์พุท: ความถูกต้องของความไม่เท่าเทียมกันในฐานะที่สอดคล้องTruthy หรือ Falseyค่า ที่สอดคล้องกันหมายถึงทุกเอาท์พุท …
17 code-golf 

3
คำในคำในคำที่อยู่ในคำ . .
ในฟอนต์ตัวหนังสือตัวอักษรตัวอักษรตัวพิมพ์ใหญ่ตัวอักษรทั้งหมดมีความกว้าง 5 หน่วยและสูง 5 ███ ████ ███ ████ █████ █████ ████ █ █ █████ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ██ ██ █████ ████ █ █ █ ████ ████ █ ██ █████ …

8
สัมพัทธ์กับแอบโซลูท
หากมีคนหันหน้าไปทางทิศเหนือ ณ จุด A ในตารางนี้ต้องการให้เส้นทางเดินไปตามเส้นทางสีเขียว (เพราะพวกเขาสามารถติดตามเส้นกริดได้เท่านั้น) ไปยังจุด B คุณอาจบอกได้ว่า: North, North, West, East, East, South, East, Eastไป หรือเทียบเท่า Forward, Forward, Left, Back, Forward, Right, Left, Forwardไป (ในกรณีที่คำสั่งของขวา , ซ้ายหรือกลับไปโดยปริยายหมายถึงการหันไปในทิศทางที่แล้วก้าวไปข้างหน้า.) เขียนฟังก์ชันด้วยอาร์กิวเมนต์หนึ่งตัวที่แปลระหว่างเส้นทางสัมบูรณ์และเส้นทางสัมพัทธ์เหล่านี้ไปตามเส้นทางเดียวกันไม่ใช่แค่ไปยังจุดเดียวกัน สมมติว่าผู้กำกับเริ่มหันหน้าไปทางทิศเหนือเสมอ หากอาร์กิวเมนต์เป็นสตริงของตัวอักษรNSEWให้ส่งคืนทิศทางสัมพัทธ์เทียบเท่า เช่นส่งกลับสตริงf("NNWEESEE")FFLBFRLF หากอาร์กิวเมนต์เป็นสตริงของตัวอักษรFBLRให้ส่งคืนทิศทางแบบสัมบูรณ์ที่เทียบเท่ากัน เช่นส่งกลับสตริงf("FFLBFRLF")NNWEESEE สตริงว่างให้ผลผลิตตัวเอง สมมติว่าไม่มีกรณีอินพุตอื่น หากภาษาของคุณไม่มีฟังก์ชั่นหรือสตริงใช้สิ่งที่ดูเหมือนเหมาะสมที่สุด รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
17 code-golf 

20
สร้างจำนวนเต็มแบบสุ่มใด ๆ
โปรแกรม / ฟังก์ชั่นของคุณควร เอาท์พุทว่าหนึ่งจำนวนเต็ม เอาต์พุตจำนวนเต็มใด ๆ ที่มีความน่าจะเป็นบวก เอาท์พุทจำนวนเต็มมากกว่า 1.000.000 หรือน้อยกว่า -1.000.000 อย่างน้อยกับความน่าจะเป็น 50% ตัวอย่างผลลัพธ์ (ต้องเป็นไปได้ทั้งหมด): 59875669123 12 -42 -4640055890 0 2014 12 24 -7190464664658648640055894646646586486400558904644646646586486400558904646649001 ชี้แจง: อนุญาตให้ใช้ตัวแบ่งบรรทัดต่อท้าย ไม่อนุญาตศูนย์นำหน้า -0 ได้รับอนุญาต รหัสที่สั้นที่สุดชนะ

7
ค้นหาอาชญากรจากหูนิ้วและหัวของเขา
ก่อนที่จะมีการค้นพบลายนิ้วมือและการทดสอบดีเอ็นเอตำรวจอังกฤษใช้ระบบการวัดสัดส่วนร่างกายเพื่อระบุผู้กระทำผิดซ้ำ บางส่วนของร่างกายของอาชญากรถูกวัดและเก็บไว้ในบันทึก - ส่วนต่าง ๆ ของร่างกายนี้จะไม่เปลี่ยนขนาดหลังจากผู้ใหญ่ ระบบนี้เป็นที่รู้จักกันbertillonnage แผนภาพด้านล่างแสดงระบบจัดเก็บข้อมูลที่ตำรวจใช้เพื่อเข้าถึงบันทึกเหล่านี้อย่างรวดเร็ว แผนภาพที่ 1: ระบบจัดเก็บข้อมูลที่มีหมายเลขกำกับ หมายเหตุ: หากคุณไม่สามารถเห็นภาพลองกระจก Imgur หรือรวบรวมมันด้วยตัวคุณเอง ตู้เก็บเอกสารประกอบด้วย 81 หมายเลขลิ้นชัก ลิ้นชักแต่ละใบบรรจุการ์ดและการ์ดแต่ละใบมีการวัดส่วนต่าง ๆ ของร่างกายอาชญากร: ความยาวของหัว ( H) ความกว้างของหัว ( B) ความกว้างของหูข้างขวา ( E) ความยาวของนิ้วชี้ของพวกเขา ( F) การวัดแต่ละประเภทจัดเป็นทั้งขนาดเล็กขนาดกลางหรือขนาดใหญ่ ยกตัวอย่างเช่นลิ้นชัก 56 มีบัตรที่มีลักษณะดังต่อไปนี้: H ขนาดเล็กขนาดใหญ่ B กลางอีและเอฟขนาดเล็กนี้สามารถ notated โดยใช้ตัวอักษรS, MและLในสถานที่ของขนาดเล็กขนาดกลางและขนาดใหญ่: SH,LB,ME,SF โปรดทราบว่าตัวอักษรขนาดไปก่อนแล้วสิ่งที่วัดคือ นอกจากนี้!อาจใส่เครื่องหมายอัศเจรีย์ไว้ด้านหน้าเพื่อทำให้เกิดค่าลบ: !SH,LB,!ME,SF สิ่งนี้บ่งชี้ว่าการ์ดที่มีคุณสมบัติดังต่อไปนี้: ไม่เล็ก …
17 code-golf  math 

4
เขียนโปรแกรมที่แทนที่ด้วยช่องว่างวงเล็บปีกกาในกรณีที่จัดฟันในสถานที่ทำให้ชะงักงัน
คุณเป็นผู้จัดการโครงการ วันหนึ่งหนึ่งของการเขียนโปรแกรมของคุณไปบ้า ( ไม่ใช่ความผิดของคุณ ) และเอาการแสดงออกทั้งหมดใน codebase และเพิ่มวงเล็บสุ่มกับพวกเขาก่อนที่จะเลิกสูบบุหรี่ในจุดที่คุยโวเกี่ยวกับการไร้ความสามารถของคุณ ( ยังไม่ใช่ความผิดของคุณ ) นี่จะเป็นการแก้ไขที่ง่ายอย่างไรก็ตามด้วยเหตุผลบางอย่างที่คุณไม่ได้ใช้การควบคุมการแก้ไข ( ไม่ใช่ความผิดทั้งหมดของคุณ ) และด้วยเหตุผลบางอย่างไม่มีโปรแกรมเมอร์คนอื่น ๆ ที่ต้องการผ่านทุกนิพจน์เพื่อแก้ไขวงเล็บที่ไม่ตรงกัน ( โดยวิธีการที่ไม่ใช่ความผิดของคุณ ) โปรแกรมเมอร์วันนี้คุณคิดกับตัวเอง คุณจะต้องทำเอง สยองขวัญ! งานดังกล่าวควรจะอยู่ภายใต้คุณ ... อินพุตจะเป็นบรรทัดเดียวซึ่งจะมีจำนวนวงเล็บซ้าย ( ( [ {) และวงเล็บปีกกาขวา ( ) ] }) นอกจากนี้ยังอาจมีความคิดเห็น ( /* */) และตัวอักษรสตริง ( " "หรือ' ') และตัวเลขตัวอักษรหรือสัญลักษณ์ต่างๆ จะมีตัวยึดอย่างน้อยหนึ่งตัว (นอกความคิดเห็นหรือตัวอักษรสตริง) ที่ไม่มีการกัดกร่อนที่ตรงกันข้าม (นอกความคิดเห็นหรือตัวอักษรสตริง) …

7
เอาท์พุทสองหลาย
ความท้าทาย ฉันขอเสนออีกสายลับเทียบกับสายลับที่ท้าทายการเจาะรู obfuscators เมื่อเทียบกับแคร็กเกอร์ ในกรณีนี้ แต่ตัวเลขที่จะป้องกันไม่ได้ใส่ แต่เอาท์พุท กฎของการท้าทายนั้นง่าย เขียนรูทีนด้วยข้อกำหนดต่อไปนี้: ชุดคำสั่งอาจเขียนเป็นภาษาใดก็ได้ แต่ต้องไม่เกิน 320 ไบต์ รูทีนต้องยอมรับจำนวนเต็ม 32- บิตที่ได้รับการรับรองทั้งสามเป็นอินพุต มันสามารถอยู่ในรูปแบบของฟังก์ชั่นที่ยอมรับ 3 ข้อโต้แย้งฟังก์ชั่นที่ยอมรับอาร์เรย์ 3 องค์ประกอบเดียวหรือโปรแกรมสมบูรณ์ที่อ่านจำนวนเต็ม 3 จำนวนจากอินพุตมาตรฐานใด ๆ รูทีนต้องเอาท์พุทจำนวนเต็ม 32- บิตที่เซ็นชื่อหนึ่งชุด โดยอินพุตที่เป็นไปได้ทั้งหมดรูทีนต้องส่งออกระหว่างค่าเฉพาะ 2 ถึง 1,000 (รวม) จำนวนของค่าที่ไม่ซ้ำกันการส่งออกสามารถประจำเรียกว่ามันสำคัญ ดังตัวอย่างโปรแกรม C int foo( int i1, int i2, int i3 ) { return 20 + (i1^i2^i3) %5; …

10
สัญลักษณ์กับตัวอักษร
สัญลักษณ์กับตัวอักษร อักขระ ASCIIได้ถูกแบ่งออกครั้งเดียวอีกครั้ง ! ชุดของคุณมีจดหมายและสัญลักษณ์ จดหมาย ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz สัญลักษณ์ !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~ ภารกิจคือการเขียนโปรแกรมสองโปรแกรม: พิมพ์ตัวอักษรแต่ละตัวเพียงครั้งเดียวโดยไม่ต้องใช้ตัวอักษรใด ๆ ในโปรแกรมของคุณ พิมพ์The Symbolsแต่ละครั้งโดยไม่ต้องใช้สัญลักษณ์ใด ๆ ในโปรแกรมของคุณ กฎระเบียบ ช่องว่างอาจปรากฏในโปรแกรมหรือผลลัพธ์ของคุณ ไม่อนุญาตให้ใช้อักขระที่ไม่ใช่ ASCII เอาท์พุทไปที่ออกมาตรฐานหรือไฟล์เป็นเนื้อหาหรือชื่อของไฟล์ ไม่มีอินพุต เอาต์พุตต้องมีอักขระ ASCII จากชุดหนึ่งหรืออีกชุดเท่านั้น โปรแกรมสามารถเขียนในภาษาต่าง ๆ หรือภาษาเดียวกันโดยมีข้อยกเว้นหนึ่งข้อ: ภาษาช่องว่างอาจจะใช้เฉพาะสำหรับโปรแกรมใดโปรแกรมหนึ่ง ช่องโหว่มาตรฐานใช้ เกณฑ์การให้คะแนน # of characters in program 1 +# of characters in program 2 =Score คะแนนต่ำสุดชนะ! บันทึก: เพื่อสนับสนุนการส่งมากขึ้นคุณยังอาจโพสต์คำตอบด้วยวิธีแก้ปัญหาสำหรับหนึ่งในโปรแกรม คุณจะไม่สามารถชนะ แต่คุณจะยังสามารถอวดสิ่งที่ยอดเยี่ยม …

10
เขียนคำแก้สมการ [ซ้ำ]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว : ใช้ประโยชน์จาก "ช่องว่างฟรี" (10 คำตอบ) ปิดให้บริการใน2 เดือนที่ผ่านมา บทนำ ลองพิจารณาตัวอย่างต่อไปนี้: CODE + GOLF —————— GREAT นี่คือสมการที่ตัวอักษรแต่ละตัวแทนตัวเลขทศนิยมและคำที่เป็นตัวแทนของตัวเลขธรรมชาติ (ตัวอักษรที่คล้ายกันแสดงถึงตัวเลขที่คล้ายกันและตัวอักษรที่แตกต่างกันแสดงตัวเลขที่แตกต่างกัน) ภารกิจคือจับคู่ตัวอักษรแต่ละตัวด้วยค่าตัวเลขเพื่อให้สมการนั้นถูกต้อง ทางออกหนึ่งสำหรับสมการข้างต้นคือ: 9265 + 1278 —————— 10543 งานของคุณ งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่สามารถแก้สมการดังที่เห็นด้านบน อินพุต อินพุตเป็นสตริงในรูปแบบต่อไปนี้: [A-Z]+\+[A-Z]+=[A-Z]+ ตัวอย่าง: CODE+GOLF=GREAT AA+BB=CC เว้นช่องว่างและจะใช้เฉพาะตัวอักษรระหว่างตัวอักษร A และ Z เท่านั้น (ไม่มีตัวอักษรพิเศษหรือตัวเล็ก) สตริงนี้สามารถอ่านได้จากอินพุตมาตรฐานจากไฟล์หรือเป็นพารามิเตอร์ฟังก์ชั่น เอาท์พุต คุณมีสองอ็อพชันต่อไปนี้สำหรับรูปแบบเอาต์พุต: สมการดั้งเดิมที่มีตัวเลขแทน รายการตัวอักษรและค่าของพวกเขา หากมีวิธีแก้ไขหลายวิธีควรส่งคืน (แต่มีเพียงหนึ่งรายการเท่านั้น) หากไม่มีวิธีแก้ปัญหาโปรแกรมควรส่งคืนสตริงว่างหรือโมฆะ เอาต์พุตสามารถส่งคืนเป็นสตริงสามารถเขียนไปยังเอาต์พุตมาตรฐานหรือไฟล์ ตัวอย่าง: 9265+1278=10543 A=1 …

10
เขียนล่ามสำหรับจัมเปอร์ภาษาลึกลับของฉัน
ฉันคิดจัมเปอร์ภาษาลึกลับขึ้นมา หลังจากนั้นคุณจะเห็นว่าทำไม มันทำงานกับหน่วยความจำเข้าถึงโดยสุ่มด้วยไบต์เป็นเซลล์ RAM มีการทำดัชนีเป็นศูนย์และเต็มไปด้วยเลขศูนย์ในตอนแรก เมื่อพยายามเข้าถึงเซลล์ที่มีข้อผิดพลาดดัชนีเชิงลบควรจะปรากฏขึ้นและโปรแกรมสิ้นสุดลง เมื่อพยายามอ่านดัชนีที่ใหญ่กว่าครั้งสุดท้ายควรส่งคืนค่าศูนย์ เมื่อพยายามเขียนที่ดัชนีที่ใหญ่กว่าครั้งสุดท้าย RAM ควรเพิ่มเป็น 1024 และเซลล์ใหม่ที่เต็มไปด้วยศูนย์ (ในทางเทคนิคคุณสามารถเพิ่ม RAM ได้ไม่เกิน 1024 จากเหตุผลก็คือการเพิ่มประสิทธิภาพดังนั้นถ้าคุณใช้อักขระจำนวนมาก สามารถทำได้ไม่เกิน 1024) โปรแกรมยังมีตัวชี้ไปยังเซลล์ใน RAM ซึ่งเริ่มแรกเป็นศูนย์ เมื่อโปรแกรมเริ่มดำเนินการพรอมต์สำหรับสตริงอินพุตควรแสดง (หรือรับอินพุตจากอาร์กิวเมนต์บรรทัดคำสั่งก็ขึ้นอยู่กับคุณ) สตริงอินพุตไม่ควรมีอักขระ null (ศูนย์ไบต์) จากนั้นสตริงป้อนเข้าจะถูกเขียนลงใน RAM โดยเริ่มที่ดัชนีศูนย์ เมื่อโปรแกรมสิ้นสุดการดำเนินการกล่องที่มีผลลัพธ์ของโปรแกรมจะปรากฏขึ้น - เนื้อหาของ RAM จากดัชนีศูนย์ถึงศูนย์ไบต์แรกยกเว้น ตอนนี้ส่วนที่น่าสนใจที่สุดคือไวยากรณ์ โปรแกรมประกอบด้วยคำสั่ง (ตัวดำเนินการ unary-prefixes) และอาร์กิวเมนต์ คำสั่งและอาร์กิวเมนต์อาจคั่นด้วยช่องว่างหรือบรรทัดใหม่ แต่ไม่จำเป็น อย่างไรก็ตามการเว้นวรรคภายในอาร์กิวเมนต์ไม่ถูกต้องตัวอย่างเช่น# 2 = 4ถูกต้อง แต่# 2 = 4 …

4
จบวงเล็บที่ขี้เกียจ
วงเล็บบนคีย์บอร์ดของฉันหมดและฉันต้องการหลีกเลี่ยงการใช้มากที่สุด ความท้าทายของคุณคือการรักษาสมดุลของเส้นที่มีวงเล็บด้วยการเพิ่มลงในก่อนและหลังแต่ละบรรทัด สิ่งนี้คล้ายกับวงเล็บอัตโนมัติและการปิดสตริง (เช่นOutput(1, 1, "Hello, World!) ของ TI-Basic นอกจากนี้ยังช่วยประหยัดไบต์อันมีค่าจากโปรแกรม! อินพุตตัวอย่าง: This line has no parentheses alert(Math.max(1, 2 1+1)*2).toString() function() { alert('Hello, World!'); })( ตัวอย่างเอาต์พุต (เป็นไปได้): This line has no parentheses alert(Math.max(1, 2)) ((1+1)*2).toString() (function() { alert('Hello, World!'); })() รายละเอียด: สำหรับอินพุตแต่ละบรรทัด เพิ่มวงเล็บเปิดที่เปิดไว้จำนวนมากให้กับจุดเริ่มต้นและปิดวงเล็บไปยังจุดสิ้นสุดของบรรทัดตามต้องการเพื่อปรับสมดุลของวงเล็บในบรรทัด คำจำกัดความของ "สมดุล" คือ: จำนวนเท่ากัน(และ)ในบรรทัด สำหรับทุกสตริงย่อยที่เริ่มต้นจากจุดเริ่มต้นของสตริงสตริงย่อยนี้ต้องไม่มีวงเล็บปิดมากกว่าการเปิดวงเล็บ ตัวอย่างเช่น(foo))(barไม่สมดุลเนื่องจาก(foo))มีวงเล็บปิดมากกว่าการเปิดวงเล็บ คุณอาจเพิ่มวงเล็บที่ไม่จำเป็นเป็นพิเศษหากคุณต้องการหากมันทำให้รหัสของคุณสั้นลง คุณไม่จำเป็นต้องกังวลเกี่ยวกับตัวอักษรสตริงหรืออะไรอย่างนั้นสมมติว่าวงเล็บทั้งหมดต้องมีความสมดุล …

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