รหัส Decathlon กอล์ฟครั้งแรก [ปิด]


48

งาน

คู่แข่งทั้งหมดพยายามแก้ไขรายการ 10 งานต่อไปนี้:

  1. อ่านจำนวนเต็มบวกnจากอินพุตและส่งคืนผลรวมของคิวบ์ของจำนวนเต็ม n ที่ไม่ใช่ลบแรก

    สำหรับการป้อนข้อมูลนี้ควรกลับ10

  2. อ่านจำนวนเต็มบวกnจากการป้อนข้อมูลและคืนค่า truthy ถ้าหากว่าnเป็นเซนเนนายก

  3. อ่านรายชื่อที่ไม่ว่างเปล่าของnจำนวนเต็มจากการป้อนข้อมูลและส่งกลับมาของพวกเขาแบ่ง

    ถ้าnเป็นเลขคู่ให้ใช้ค่ากลางสองค่าที่น้อยลง

    ยกตัวอย่างเช่นค่ามัธยฐานของคือ[1 4 3 2]2

  4. อ่านจำนวนเต็ม (บวกลบหรือ 0) หรือการแทนสตริงในฐาน 10 หรือ unary จากอินพุตและส่งกลับตัวเลขในnegabinaryโดยไม่มีเลขศูนย์นำหน้า (ยกเว้นอินพุต 0)

    เอาต์พุตสามารถจัดรูปแบบได้อย่างสะดวก (ตัวเลข, อาเรย์, สตริง ฯลฯ )

  1. pneumonoultramicroscopicsilicovolcanoconiosisกลับ

  2. ตรวจสอบวันที่ปัจจุบันและส่งคืนHappy New Year!ตามความเหมาะสมตามปฏิทินเกรกอเรียน

  3. หลอกสุ่มเลือก 64 รหัสจุดที่ได้รับมอบหมายที่ไม่ซ้ำกันจาก Unicode บล็อกCJK Unified Ideographs Extension-A (U + 3400 - U + 4DB5) และส่งกลับสตริงของอักขระที่เกี่ยวข้อง

    สตริงที่เป็นไปได้ทั้งหมดควรมีความน่าจะเป็นเหมือนกันในการเลือก

  4. อ่านสองสตริงของอักขระ ASCII ที่พิมพ์ได้จากอินพุตและส่งคืนค่าความจริงหากและถ้าอักขระของสตริงแรกก่อให้เกิดการเรียงลำดับของสตริงที่สอง

    ตัวอย่างเช่นabc, axbxcควรกลับ truthy และbac, axbxcควรกลับ falsy

  1. อ่านหลายมิติอาร์เรย์สี่เหลี่ยมของจำนวนเต็มและจำนวนเต็มnจากการป้อนข้อมูลและกลับอาร์เรย์การแก้ไขที่มีจำนวนเต็มทั้งหมดคูณด้วยn

  1. อ่านจำนวนเต็มn ที่ไม่ใช่ค่าลบจากอินพุตและส่งคืนห่วงโซ่ของขบวนรถไฟnดังที่แสดงด้านล่าง

    ตัวอย่างเอาต์พุตสำหรับn = 3 :

     ______   ______   ______ 
    |      | |      | |      |
     ()--() ~ ()--() ~ ()--()
    

    ผลลัพธ์อาจถูกล้อมรอบด้วยช่องว่างจำนวนเท่าใดก็ได้ตามที่ปรากฏในตัวอย่าง

ชี้แจง

  • 0ไม่ใช่ทั้งบวกและลบ

  • ช่องว่างต่อท้ายได้รับอนุญาตในผลลัพธ์เสมอ

  • อาจมีการอ่านอินพุตหลายส่วนในลำดับที่สอดคล้องและสะดวก

กฎระเบียบ

  1. ไม่มีคำตอบอาจแก้ปัญหาต่าง ๆ สองอย่างในภาษาการเขียนโปรแกรมเดียวกัน 1

  2. สำหรับงานแต่ละงานจะใช้กฎการมาตรฐาน

    โดยเฉพาะอย่างยิ่งคุณสามารถส่งโปรแกรมหรือฟังก์ชั่นที่มีค่าเริ่มต้น I / Oปกติแต่ไม่สามารถใช้ประโยชน์จากช่องโหว่เหล่านี้ได้

    ภารกิจที่ 5 นั้นเป็นท้าทายที่ hardcoding ไม่เพียง แต่ได้รับอนุญาตเท่านั้น

  3. ควรโพสต์คำตอบเดียวต่อผู้ใช้หนึ่งรายซึ่งมีทางออกมากที่สุดหนึ่งรายการสำหรับแต่ละงาน

    โปรดจัดรูปแบบคำตอบของคุณตามตัวอย่างต่อไปนี้:

    ## Task 1, Python, 42 bytes
    
        <code goes here>
    
    Explanation, I/O, required Python version, etc. go here.
    
    ---
    
    ## Task 7, C, 42 bytes
    
        <code goes here>
    
    Explanation, I/O, required compiler (flags), etc. go here.
    

เกณฑ์การให้คะแนน

  1. สำหรับทุกภารกิจที่คุณแก้ปัญหาคุณจะได้หนึ่งจุด

    ซึ่งหมายความว่าคุณไม่จำเป็นต้องแก้ปัญหาทั้งหมดเพื่อเข้าร่วม

  2. หากโซลูชันของคุณสำหรับภารกิจnนั้นสั้นที่สุดในภาษาการเขียนโปรแกรมนั้นคุณจะได้รับคะแนนเพิ่มเติม

  3. หากโซลูชันของคุณสำหรับภารกิจnเป็นหนึ่งในภาษาโปรแกรมที่สั้นที่สุดคุณจะได้รับคะแนนเพิ่มเติม

  4. คะแนนโบนัสจะได้รับเพียงครั้งเดียวสำหรับชุดค่าผสมภาษาและแต่ละภารกิจตามลำดับ

    ตามปกติถ้าสองวิธีมีจำนวนไบต์เท่ากันเวลาการโพสต์คือตัวแบ่งไทม์

    หากมีใครสูงกว่าคุณในภายหลังคุณจะเสียคะแนนโบนัสที่ผู้ตอบคนอื่นได้รับ

  5. คุณสามารถส่งกอล์ฟเพิ่ม / ลบภาษาจากคำตอบของคุณหรือสลับภาษาที่ใช้สำหรับงานสองงาน

    ทุกครั้งที่มีคนแก้ไขคำตอบของเขาคำตอบทั้งหมดจะได้รับการช่วยเหลือ

  6. เมื่อคุณเปลี่ยนภาษาสำหรับงานคุณจะสูญเสียความอาวุโส 2

คำตอบที่มีคะแนนสูงสุดจะเป็นฝ่ายชนะ 3

กระดานแต้มนำสำหรับภารกิจ

<style>body{text-align:left!important}#answer-list{padding:10px;width:290px;float:left}#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}</style><script src=https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js></script><link rel=stylesheet href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id=answer-list><table class=answer-list><thead><tr><td>Task<td>Author<td>Language<td>Score<tbody id=answers></table></div><table style=display:none><tbody id=answer-template><tr><td>{{TASK}}<td>{{NAME}}<td>{{LANGUAGE}}<td>{{SIZE}}</table><script>function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function process(){answers.forEach(function(e){var s=e.body_markdown.split("\n").filter(function(e){return"#"==e[0]});s.forEach(function(s){var r=s.match(NUMBER_REG)[0],t=(s.match(SIZE_REG)||[0])[0],a=s.match(LANGUAGE_REG)[1],n=e.owner.display_name;entries.push({task:r,user:n,language:a,size:t})})}),entries.sort(function(e,s){var r=e.task-s.task;return r?r:e.size-s.size});for(var e=0;e<entries.length;e++){var s=jQuery("#answer-template").html();s=s.replace("{{TASK}}",entries[e].task).replace("{{NAME}}",entries[e].user).replace("{{LANGUAGE}}",entries[e].language).replace("{{SIZE}}",entries[e].size),s=jQuery(s),jQuery("#answers").append(s)}}var QUESTION_ID=52152,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:&lt;(?:s&gt;[^&]*&lt;\/s&gt;|[^&]+&gt;)[^\d&]*)*$)/,NUMBER_REG=/\d+/,LANGUAGE_REG=/^#*.*?,\s*\[*([^,\]]+)/,entries=[];</script>

ลีดเดอร์บอร์ดรวม (2015-07-30 20:00 UTC)

User / Task      1 2 3 4 5 6 7 8 9 A   TOTAL   Tie breaker (if any)

DLosc            2 2 3 2 2 2 2 3 2 2      22
Sp3000           2 2 2 2 2 3 2 2 2 2      21
Doorknob         2 2 2 2 2 2 2 2 2 2      20
mathmandan       2 2 2 2 2 2 2 2 2 2      20   Combined byte count.
MickyT           2 2 2 2 2 2 1 2 2 2      19
Alex A.          2 1 2 2 2 2 1 2 2 2      18
Jacob            2 2 2 2 2 1 0 0 0 2      13
alephalpha       2 2 2 0 2 2 0 0 2 0      12
Martin Büttner   2 0 0 2 2 0 0 2 2 2      12   Combined byte count.
kirbyfan64sos    1 2 2 0 2 X 0 2 0 3      12   Per-language wins.
Maltysen         3 0 0 0 3 2 1 X 2 0      11
plannapus        2 2 0 0 2 2 0 2 0 2      10
jimmy23013       0 0 2 3 0 0 3 2 0 0      10   Solved tasks.
Tom              0 3 0 0 2 2 0 X 3 0      10   Combined byte count.
FryAmTheEggman   1 0 2 0 2 0 2 0 2 0       9
Vioz-            1 0 2 2 2 2 0 0 0 0       9   Combined byte count.
Toby Speight     2 0 0 0 2 2 0 0 0 2       8
Ismael Miguel    0 0 0 0 2 2 0 0 0 2       6
Pulga            0 2 2 0 0 0 0 0 0 2       6   Combined byte count.
flawr            2 0 2 0 0 0 0 0 0 0       4     
manatwork        2 0 0 0 0 2 0 0 0 0       4   Combined byte count.
TheNumberOne     1 0 0 0 2 0 0 0 0 0       3

งานที่ทำเครื่องหมายด้วยXมีอยู่ แต่ไม่ถูกต้อง

กระดานแต้มนำแบบรวมถูกสร้างขึ้นด้วยมือ โปรดบอกฉันหากมีข้อผิดพลาดใด ๆ


1 ภาษานับว่าแตกต่างกันหากไม่ใช่ภาษาเดียวกันดังนั้นจึงมี JavaScript เพียงหนึ่ง Python หนึ่งภาษาและ TI-BASIC หนึ่งภาษา แต่ C, C ++, Octave และ MATLAB เป็นสี่ภาษาที่แตกต่างกัน

2 ถ้าคุณแก้งานnใช้ภาษาLในxไบต์คนอื่นแก้งานเดียวกันในภาษาเดียวกันกับการนับไบต์เดียวกันคุณเปลี่ยนภาษาMและย้อนกลับการแก้ไขของคุณที่ตอบอื่น ๆ จะให้จุดโบนัส

3 จำนวนคะแนนที่ได้จากกฎการให้คะแนน 1, 2 และ 3 (ตามลำดับ) จำนวนไบต์รวมของงานที่แก้ไขทั้งหมด (ต่ำกว่าดีกว่า) และในที่สุดการนับคะแนน (สูงกว่าดีกว่า) จะทำหน้าที่เป็นตัวแบ่ง


6
เพื่อชี้แจงความท้าทายนี้ จำกัด เฉพาะผู้ที่รู้อย่างน้อย 10 ภาษา? ฉันขอ ... เพื่อน ...
vijrox

2
@VijayRamamurthy: คุณไม่จำเป็นต้องแก้ปัญหาทั้งหมดเพื่อเข้าร่วมดังนั้นถ้าคุณแก้ปัญหาเพียงงานเดียวคุณจะต้องรู้ภาษาเดียว
Alex A.

2
@ JoeZ: เรามีความท้าทาย 9 หลุมที่นี่ แต่สิ่งที่ทำคะแนนได้รวมกันเป็นจำนวนไบต์ ไม่ว่าการให้คะแนนของฉันจะเกี่ยวข้องกับวิธีการลดทอนคะแนน แต่ฉันต้องการทำให้ชัดเจนว่านี่เป็นความท้าทายประเภทอื่น
Dennis

4
@lolesque: นั่นจะเป็นความท้าทายของกอล์ฟมาตรฐาน จุดทั้งหมดที่นี่ใช้ภาษาที่แตกต่างกันสำหรับแต่ละงาน
เดนนิส

3
@NotthatCharles: ฉันถาม Gregory และเขาพูดว่าวันที่ 1 มกราคม
Dennis

คำตอบ:


5

งาน 1, GolfScript, 8 ไบต์

~,{+}*.*

แนวคิดเดียวกันกับคำตอบCJam ของ Martin


ภารกิจที่ 2, QBasic, 74 71 ไบต์

INPUT a
r=a>1
FOR i=2 TO a-1
r=r*(a MOD i)
NEXT
?r*((a\2AND a)=a\2)

ทดสอบในQB64เมื่อปิดการขยายไวยากรณ์ 1ส่วนใหญ่ของโปรแกรมจะทดสอบว่าตัวเลขที่กำหนดaนั้นเป็นจำนวนเฉพาะหรือไม่โดยการปรับเปลี่ยนaทุก ๆ หมายเลข 2 <= i< aแล้วคูณผลลัพธ์ ผลลัพธ์คือr0 ถ้าจำนวนไม่ได้เป็นจำนวนเฉพาะและไม่ใช่ศูนย์ บรรทัดสุดท้ายใช้ bitwise ที่ANDมีการหารจำนวนเต็ม 2 เพื่อตรวจสอบว่าการแทนค่าไบนารี่ของaทั้งหมดนั้นaคือแบบฟอร์ม 2 n -1 หรือไม่ การคูณด้วยการrให้ 0 (false) ถ้าตัวเลขไม่ใช่ Mersenne prime และค่าที่ไม่ใช่ศูนย์ (สัจนิยม) เป็นอย่างอื่น เป็นทางลัดสำหรับ?PRINT

Mersenne Prime ที่ใหญ่ที่สุดที่ฉันทดสอบคือ 8191 ให้ผลของ - 1.#INFซึ่งยังคงเป็นความจริง! (ฉันตรวจสอบด้วยIFคำสั่งเพื่อให้แน่ใจ)

1 สิ่งนี้ไม่ได้เปลี่ยนความหมายของโปรแกรม หากคุณพิมพ์รหัสด้านบนลงใน DOS QBasic มาตรฐานมันจะทำการฟอร์แมตด้วยช่องว่างเพิ่มเติมโดยอัตโนมัติ แต่มันจะทำงานเหมือนกันทุกประการ


งาน 3, Pyth, 6 ไบต์

ehc2SQ

อ่านรายการสไตล์ Python จาก stdin เวทมนตร์หลักที่นี่คือตัวcดำเนินการกระโดด: เนื่องจาก int และรายการมันแยกรายการเป็น n ชิ้น ดังนั้นc2SQสับรายการอินพุตที่เรียงลำดับครึ่ง สะดวกเมื่อความยาวคี่ครึ่งแรกจะใหญ่กว่าดังนั้นค่ามัธยฐานจึงเป็นองค์ประกอบสุดท้ายของครึ่งแรกเสมอ นี่เป็นeครั้งที่สองของhผลลัพธ์ของการสับ


ภารกิจที่ 4, CJam, 26 ไบต์

ri{_2%z\_0>\-2/_3$+?}h;]W%

ฉันคิดว่าน่าจะสั้นลง

ขั้นตอนวิธีการ:

  • อ่านจำนวนเต็ม
  • ทำในขณะที่ค่าไม่ใช่ 0:
    • ใช้ abs (i% 2) นี่คือหลักถัดไป (negabit?)
    • หารฉันด้วย -2
    • Iff i ไม่เชิงลบเพิ่ม abs (i% 2) ลงในผลลัพธ์ นี่คือการแก้ไขกรณีมุม: 3 ไปที่ -1 แต่ -3 ควรไปที่ 2 ไม่ใช่ 1
  • ดร็อป 0 ที่ฟุ่มเฟือยรวบรวมสแต็กลงในอาร์เรย์กลับด้านและพิมพ์

ความจริงที่ว่ามันเป็นห่วงในขณะที่ทำดูแลกรณี 0


ภารกิจ 5, Bash, 50 ไบต์

echo pneumonoultramicroscopicsilicovolcanoconiosis

ไม่มากที่จะอธิบาย


ภารกิจ 6, Python, 78 ไบต์

from datetime import*
d=date.today()
if d.day<2>d.month:print"Happy New Year!"

ต้องการ Python 2 ผู้ดำเนินการที่ไม่เท่าเทียมกันของงูหลามสามารถใช้ประโยชน์จากที่นี่ได้อย่างดี


ภารกิจที่ 7, ActionScript, 82 ไบต์

x=""
while(x.length<64){c=chr(13312+random(6582));if(x.indexOf(c)<0)x+=c}
trace(x)

ActionScriptเป็นสมาชิกของตระกูล ECMAScript รหัสนี้ต้องใช้ ActionScript 2 - ดีกว่าสำหรับการเขียนโค้ดเพราะฉันจะใช้ฟังก์ชั่นที่เลิกใช้แล้วchrแทนที่จะเป็นเวอร์ชั่น 3 String.fromCharCode!

ผลลัพธ์คือบานหน้าต่างคอนโซล:

ภาพหน้าจองานที่ 7


ภารกิจ 8, Pip, 9 19 ไบต์

โซลูชัน regex ใช้งานไม่ได้ดังนั้นนี่เป็นโซลูชันที่ใช้สายอักขระแทน

Fcab@>:o&:(b@?c)+1o

พื้นที่เก็บข้อมูลสำหรับ Github Pip

รับทั้งสองสายเป็น args บรรทัดคำสั่ง เมื่อaใดที่การเรียงลำดับผลลัพธ์จะเป็นจำนวนเต็มบวก (ความจริง) มิฉะนั้นผลลัพธ์จะเป็นศูนย์ (เป็นเท็จ) ซึ่งไม่สร้างผลลัพธ์

คำอธิบาย:

                     Cmdline args -> a,b; o = 1 (implicit)
Fca                  For each character in a:
           b@?c      Find character's index in b (nil if not found)
          (    )+1   Add 1; all possible indices except nil are now truthy
       o&:           Logical AND with o
   b@>:              Slice b to everything at index o and afterward (Python b=b[o:])
                     (If c wasn't found, b becomes nil, but we don't care at that point)
                  o  Auto-print o

ภารกิจ 9, Prolog (SWI), 68 ไบต์

m(L,N,R):-L=[H|T],m(H,N,I),m(T,N,U),R=[I|U];L=[],R=[];R is L*N.

ภาษาโปรล็อกมักไม่ค่อยแข่งขันกับโค้ดกอล์ฟดังนั้นฉันค่อนข้างพอใจกับวิธีแก้ปัญหานี้

กำหนดกริยา mกับป้อนพารามิเตอร์Lสำหรับรายการและสำหรับจำนวนและเอาท์พุทพารามิเตอร์N Rคำจำกัดความของmการแยกเป็นสาม:

  • หากLสามารถรวมเป็นหนึ่งเดียวกับ[H|T]มันเป็นรายการที่มีอย่างน้อยหนึ่งรายการในนั้น โทรซ้ำบนหัวและหางของรายการนั้นและนำผลที่ได้มารวมกันอีกครั้งในรายการใหม่ซึ่งเป็นแบบครบวงจรด้วยmR
  • หากLสามารถรวมเป็นหนึ่งกับ[]รวมRด้วย[]เช่นกัน
  • มิฉะนั้นLจะถือว่าเป็นตัวเลข จะถูกคำนวณและได้รับมอบหมายให้L*NR

ตัวอย่างการใช้งานswiplบน Ubuntu:

dlosc@dlosc:~/golf$ swipl -qs arrayMult.prolog
?- m([1,2,3],5,R).
R = [5, 10, 15] .

?- m([[3,4],[5,6]],3,R).
R = [[9, 12], [15, 18]] .

?- m([[[1,2],[3,4]],[[5,6],[7,8]]],2,R).
R = [[[2, 4], [6, 8]], [[10, 12], [14, 16]]] .

งาน 10, C, 114 112 106 ไบต์

#define F;printf("\n");for(i=0;i<c;i++)printf(
i;t(c){F" ______  ")F"|      | ")F" ()--() ~");putchar(8);}

ทดสอบกับgccUbuntu กำหนดฟังก์ชั่นtที่รับอาร์กิวเมนต์จำนวนเต็ม ใช้สามforลูปในการส่งออกย่อมากผ่านการละเมิดแมโคร การใช้อักขระ backspace เพื่อลบ~ผลลัพธ์ต่อท้ายในรูปแบบช่องว่างที่ค่อนข้างแปลก แต่The output may be surrounded by any amount of whitespace as long as it looks like in the example.

ตัวอย่างการทำงานของt(3):

dlosc@dlosc:~/golf$ ./a.out

 ______   ______   ______
|      | |      | |      |
 ()--() ~ ()--() ~ ()--() dlosc@dlosc:~/golf$

แต่น่าเสียดายที่รหัสของคุณสำหรับงาน 8 ระบุa.cเป็น subsequence abcของ
Dennis

@Dennis นั่นคือโชคร้าย (ขอขอบคุณที่จับได้ดี) คงที่ที่ 10 ไบต์
DLosc

17

Huzzah ก่อนอื่นให้ทำภารกิจทั้งหมดให้เสร็จ! \ O /

ภารกิจที่ 1, Perl, 32 ไบต์

$_=eval join"+",map$_**3,0..$_-1

+1 ไบต์สำหรับ-pแฟล็ก ความเห็น: Perl คือแปลก


ภารกิจที่ 2, CJam, 14 ไบต์

{_mp\)2mL_i=&}

โปรแกรม CJam แรกของฉัน!


งาน 3, GolfScript, 8 ไบต์

~$.,(2/=

Eval STDIN input, sort, take length, decrement, หารด้วยสองจากนั้นนำไอเท็มของอาร์เรย์ที่เรียงลำดับไว้ที่ดัชนีนั้น


ภารกิจที่ 4, Python, 77 ไบต์

def f(i,d=''):
 while i:i,r=i/-2,i%2;i+=r<0;r+=2*(r<0);d=`r`+d
 return d or 0

ขอบคุณ @ mbomb007 สำหรับการโกนขนาด 24 (!) ไบต์และ @ Sp3000 สำหรับอีก 11


ภารกิจที่ 5, Java, 66 ไบต์

String f(){return"pneumonoultramicroscopicsilicovolcanoconiosis";}

น่าเบื่อ เคาะภาษา verbose ที่นี่เพื่อประหยัดพื้นที่สำหรับภาษา golfier ในภายหลัง


ภารกิจที่ 6, Bash, 39 ไบต์

((`date +%j`<2))&&echo Happy New Year\!

ขอบคุณ @manatwork สำหรับการสอนเกี่ยวกับการ%jโกนทิ้ง 10 ไบต์ในกระบวนการ


ภารกิจที่ 7, JavaScript, 148 ไบต์

a=[];Array(65).join('x').replace(/./g,function(){while(a.push(s=String.fromCharCode(13312+Math.random()*6582))&&a.indexOf(s)==s.length-1);return s})

สร้างสตริงที่ 64 xแล้วแทนที่พวกเขาทั้งหมดด้วยฟังก์ชันการโทรกลับที่ส่งกลับสุ่มหนึ่งในตัวละครเหล่านั้นหากยังไม่ได้อยู่ในอาร์เรย์ของอักขระที่ใช้แล้ว


งาน 8, สนิม, 130 ไบต์

fn f(a:String,b:String)->bool{let mut c=b.chars();for x in a.chars(){match c.find(|&y|x==y){Some(_)=>(),None=>return false}};true}

ใช่สนิมแย่มากในการเล่นกอล์ฟ


งาน 9, นกกระจอกเทศ, 18 ไบต์

{:n;'`\d+`{~n*}X~}

เวอร์ชัน0.7.0 ตรวจสอบอาเรย์ทำการแทนที่ regex เพื่อเปลี่ยนตัวเลขเป็นเวอร์ชันคูณของพวกเขาจากนั้น evals สตริงผลลัพธ์อีกครั้ง


ภารกิจที่ 10, ทับทิม, 58 ไบต์

->n{([' ______  '*n,'|      | '*n,' ()--() ~'*n]*$/).chop}

"\n"เป็นตัวละครตัวหนึ่งนานกว่าซึ่งเป็นหนึ่งในตัวละครที่นานกว่า"{actual newline}" $/ขอบคุณ @ MartinBüttnerสำหรับการตัด {ไบต์ที่ไม่แน่นอน แต่จำนวนมาก} ไบต์ด้วยเทคนิคต่างๆของมนต์ดำ


งาน 6 - →$(…) `…`
จัดการ

@ การจัดการขอบคุณแก้ไข
Doorknob

คิดอีกครั้ง (กำลังดูดซับคาเฟอีน…) ทำไมรูปแบบยาว% D นั้น หรือแม้กระทั่ง[ `date +%j` = 001 ] ((`date +%j`<2))(สมมติว่า GNU dateซึ่งรองรับรูปแบบ“% j วันของปี (001..366)”)
จัดการเชิงปฏิบัติการ

@ การทำงาน Ooh ดีมาก ขอขอบคุณเพิ่มอีกครั้งเพื่อตอบ
Doorknob

ภารกิจที่ 4 สามารถสั้นลงได้โดยใช้ ((NUM + 0xAAAAAAAA) ^ 0xAAAAAAAA) alg
จาค็อบ

15

งาน 1, 3var, 14 13 ไบต์

'><k*>#aa/>sp

( หน้า Esolang wiki สำหรับ 3var )

'                  R = n
 >                 A = n
  <k               B = n-1
    *              R = A*B = n(n-1)
     >             A = n(n-1)
      #aa          B = 2
         /         R = A/B = n(n-1)/2
          >s       A = (n(n-1)/2)^2
            p      Output A

รับอินพุตผ่านจุดโค้ดเช่นช่องว่างคือ 32

โชคดีที่การดำเนินการทั้งหมดที่เราต้องนำมาใช้คือสูตรn^2 (n-1)^2 / 4เดี่ยว (การลดจำนวนการคูณและการยกกำลังสอง) แต่ใช้เวลา 3 ไบต์เพื่อตั้งค่าBเป็น 2 (รีเซ็ตเพิ่มส่วนเพิ่ม)


ภารกิจที่ 2, Retina, 38 33 ไบต์

^
1
^(..|.(..+)\2+|(.(..)+)\3*)$
<empty>

(ที่เก็บ Github สำหรับ Retina )

แต่ละบรรทัดไปในไฟล์แยกกัน แต่คุณสามารถทดสอบด้านบนเช่นเดียวกับ-sแฟล็ก (แทนที่<empty>ด้วยไม่มีอะไร) ข้อมูลที่ป้อนควรจะไม่เหมือนกันกับ 1s เช่น1111111สำหรับ 7

นี่คือสิ่งที่การทดแทน regex แต่ละอัน (ระบุโดยคู่บรรทัด):

  1. แทกเสริม 1 ถึงด้านหน้า
  2. เปลี่ยนอะไรของแบบฟอร์ม2, 1 + compositeหรือnot power of 2มีอะไร

สิ่งนี้จะเพิ่มส่วนเสริม1ให้กับช่วงเวลาของ Mersenne ในขณะที่หมายเลขอื่น ๆ จะหายไป


งาน 3, แร็กเก็ต, 71 ไบต์

#lang racket
(define(m x)(list-ref(sort x <)(quotient(-(length x)1)2)))

ภาษาที่มีเสียงกระเพื่อมก็ช่างพูดเกินไป ตัวอย่างการเรียกใช้:

> (m `(1 3 4 2))
2

ภารกิจที่ 4,> <>, 31 ไบต์

:?!v:2%:@-02-,
)?~\l1
!;n>l?

( หน้า Esolang wiki สำหรับ> <> )

ด้านบนคือ 28 ไบต์และต้องการการ-vตั้งค่าสถานะใน Python interpreter อีก 3 ไบต์เช่นทำงานเหมือน

$ py -3 fish.py negabinary.fish -v -137
10001011

สิ่งที่ดีเกี่ยวกับ> <> นี่คือเราสามารถคำนวณตัวเลขทีละตัวโดยโมดูโลและการหารซึ่งให้ตัวเลขในลำดับย้อนกลับเหมาะสำหรับการพิมพ์ออกมาเป็นกอง


ภารกิจที่ 5, ค่าศูนย์, 1448 1386 ไบต์

((()()())(()()()())((()())((()(())()))((()(())(())())((()(()))(()(())())((()(()))((())())((()()(()))((())()()()()()()()())((())()()()()()()()()()()()())))))))((()()())(()()())((()())((()(())()))((()()()())((()(()))(()(())())((())()()()()()()()()()()())))))((()(()))((()()())((())()()()()))((()()())((())()()))((()()()())((())()()()()))((()()())((())()()()()()()()()()))((()()())((())()))((()()())((())()()()))((()()())((())()()))((()()())((())()()()))((()()())((())()()()()()()()()()))((()()())((())))((()()())((())()()()()()()()()))((()()())((())()()()()()()))((()()()())((())))((()()())((())()))((()()()())((())()()()()()()()()))((()()()())((())()()))((()()())((())()()()()()()))((()()())((())()()()))((()()())((())()()()()()()()))((()()()())((())()()))((()()())((())()()()))((()()())((())()()()()))((()()()())((())()()()()()()()()))((()()()())((())()()))((()()())((())()()()()()()()))((()()()())((())()()()()()()()()))((()()())((())))((()()()())((())()()()()()()()()))((()()()())((())()()))((()()())((())()()()))((()()())((())()()()()()()()()()()))((()()())((())()()()))((()()())((())))((()()()())((())()()))((()()()())((())))((()()())((())()()))((()()())((())()()()))((()()()())((())()()))((()()())((())()()()))((()()())((())()()))((()()()())((())()()()()()()()()))((()()())((())()()()))((()()())((())()()()()()()()))((()()()())((())()()()()()()()()))((()()())((())()()()()()()())))

(ที่เก็บ Github สำหรับ Parenthetic )

ฉันมีคำตอบ CJam สำหรับเรื่องนี้ซึ่งสั้นกว่าตัวสตริง แต่ฉันไม่สามารถใช้มันได้ดังนั้นฉันคิดว่าฉันจะไปทางอื่น

Python 3 สร้างรหัส:

char97 = "((()()())(()()()())((()())((()(())()))((()(())(())())((()(()))(()(())())((()(()))((())())((()()(()))((())()()()()()()()())((())()()()()()()()()()()()())))))))"
char108 = "((()()())(()()())((()())((()(())()))((()()()())((()(()))(()(())())((())()()()()()()()()()()())))))"
open_str = "((()(()))"
close_str = ")"

target = "pneumonoultramicroscopicsilicovolcanoconiosis"
output = [char97, char108, open_str]

for c in target:
    if ord(c) >= 108:
        output.append("((()()())((())%s))"%("()"*(ord(c)-108)))
    else:
        output.append("((()()()())((())%s))"%("()"*(ord(c)-97)))

output.append(close_str)
print("".join(output))

นี่คือรหัสเสียงกระเพื่อมที่สอดคล้องกัน:

(define f (lambda (n) (char (+ n 97))))
(define g (lambda (n) (f (+ n 11))))

(+
   (g 4)  // p
   (g 2)  // n
   (f 4)  // e
   ...
)

เห็นได้ชัดว่ามันก็โอเคที่จะแทนที่defineโดยการตั้งชื่อgเป็น()()ซึ่งบันทึกจำนวนมากของไบต์


ภารกิจที่ 6, CJam, 26 ไบต์

XY]et1>>"Happy New Year!"*

ตรวจสอบว่าเป็นส่วนหนึ่งของอาร์เรย์เวลาท้องถิ่นน้อยกว่า[month day][1, 2]


ภารกิจ 7, Python, 73 ไบต์

from random import*
print(*map(chr,sample(range(13312,19894),64)),sep="")

การใช้งาน Python 3 ที่เรียบง่าย


ภารกิจที่ 8, โหมโรง, 46 41 ไบต์

?(?)#(#)?(v-(#)?)10)!
      ^      1 # (0

( หน้า Esolang wiki สำหรับโหมโรง )

ฉันคิดว่ามันใช้งานได้ - มันอาจจะยังเล่นกอล์ฟได้ แต่มันเป็นครั้งแรกที่ฉันเล่นกอล์ฟที่ไม่สำคัญใน Prelude รูปแบบการป้อนข้อมูลที่เป็น<needle>NUL<haystack>ที่เป็นNUL 0x00วิธีนี้ใช้ได้ผลดีที่สุดกับNUMERIC_OUTPUT = TruePython interpreter เพราะมันจะให้ผลลัพธ์1หรือ0ตามความเหมาะสม

ฉันเลือกพรีลูดเพราะมีสองคุณสมบัติที่ทำให้ดีมากสำหรับงานนี้:

  • มันเป็นแบบกองซ้อนดังนั้นคุณสามารถอ่านเข็มก่อนแล้วจึงประมวลผลกองหญ้าหนึ่งตัวในเวลาเดียวกันและ
  • กองกำลังของ Prelude มีจำนวน 0 วินาทีที่ด้านล่างดังนั้นคุณไม่จำเป็นต้องจัดการกับกรณีที่เข็มมีจำนวนอักขระเกิน

นี่น่าจะดีกว่านี้ถ้าโหมโรงมีตัวดำเนินการ NOT

นี่คือรายละเอียด:

?(?)#    Read input up to the NUL, discarding the NUL afterwards

(#)      Move the needle to the second voice, effectively reversing the stack
 ^

?(...?)  Read haystack

  v-     Compare top needle char with haystack char by subtraction

  (#)    If equal, pop the needle char
   1 #

10)!     Output 1 if the top needle char is 0 (bottom of stack), 0 otherwise
(0

(-5 ไบต์ขอบคุณ @ @ MartinBüttner)


งาน 9, Mathematica, 4 ไบต์

#2#&

มีบางอย่างที่เหมือนกัน2 {{0, 1}, {1, 0}}คือการคูณโดยนัยใน Mathematica ดังนั้นนี่แค่วางอาร์กิวเมนต์แบบเคียงข้างกัน

เท่าที่สังเกตจาก@MartinButtnerและ@alephalpha , 1##&เป็นอีกหนึ่งคำตอบที่ 4 ไบต์ ดูคำอธิบายก่อนหน้านี้


งาน 10, ราง, 246 237 ไบต์

$'main'
 0/aima19-@
@------e<
         -(!!)()[ ][ ______ ]{f}[\n\]o()[ ][|      |]{f}[\n\]o()[~][ ()--() ]{f}#
$'f'                 #           #
 -(!x!)(!y!)(!!)()0g<  -(x)o()1g<  -(y)o()1s(y)(x){f}#
                     -/          -/

( หน้า Esolang wiki สำหรับ Rail )

ฉันไม่สามารถละทิ้งโอกาสที่จะทำงานที่เกี่ยวกับรถไฟใน Rail :) ช่องว่างที่ดูเหมือนว่าเล่นกอล์ฟได้สวย แต่ด้วยการแยกสาขาที่ใช้เวลาสามบรรทัดมันจะทำให้งานกะทัดรัด

อินพุตเป็นจำนวนเต็มผ่าน STDIN แต่ต้องมี EOF ส่วนบนซ้าย

 0/aima19-@
@------e<

เป็นห่วง atoi ซึ่งแปลงอินพุตเป็นจำนวนเต็มในขณะที่ไม่ใช่ EOF (ตรวจสอบโดยeคำสั่ง)

ฟังก์ชั่นfในสามบรรทัดสุดท้ายจะใช้เวลาx, y, nและเอาท์พุทสตริงครั้งแยกจากกันโดยx n yฟังก์ชั่นนี้เกิดซ้ำโดยมีการnลดลงทีละหนึ่งจนกว่าจะกลายเป็นศูนย์ fเรียกว่าสามครั้งจัดหาสตริงที่แตกต่างกันสำหรับแต่ละแถว Weirdly Rail อนุญาตให้ชื่อตัวแปรว่างเปล่าซึ่งจะช่วยประหยัดสองสามไบต์

แต่น่าเสียดายที่ไบต์ส่วนใหญ่มาจาก(!x!)ซึ่งปรากฏด้านบนสุดของสแต็กและกำหนดให้กับตัวแปรxและ(x)ที่ผลักxลงบนสแต็ก สิ่งนี้จำเป็นเนื่องจากไม่มีตัวดำเนินการที่ซ้ำกันใน Rail ดังนั้นจึง(!x!)(x)(x)เป็นวิธีเดียวที่จะคัดลอกส่วนบนของสแต็ก


หากงานที่ 2 อยู่ในอาร์เอสคุณจะประหยัดได้ 2 ไบต์และมีค่าใช้จ่ายเพียง 14 ไบต์ในการรับตัวเลขแทนที่จะเป็นแบบเอกนารี ;)
kirbyfan64sos

เมื่อฉันเห็นแร็กเก็ตฉันคิดว่าคุณชอบวงเล็บ แต่สอด ...
bunyaCloven

13

ภารกิจที่ 1, CJam, 7 ไบต์

q~,:+_*

ฉันแค่อยากได้วิธีแก้ปัญหา CJam ที่ดีที่สุด (น่าจะเป็น) สิ่งนี้มันใช้ประโยชน์จากความจริงที่ว่าผลรวมของnลูกบาศก์แรกคือสี่เหลี่ยมจัตุรัสของตัวเลขสามเหลี่ยมnthซึ่งเป็นผลรวมของจำนวนเต็มnแรก

ทดสอบที่นี่


งาน 4, ฟิชชัน, 173 88 78 69 68 ไบต์

ที่เก็บ GitHub สำหรับการแยก

 /@\O/S@+>\
^{ }[<X/ @/;
,\?/@\J^X\
'M~\$ $
UK/W%@]  /
D
?\{\/
0'A Y

โปรแกรมฟิชชันที่ซับซ้อนอย่างที่สองของฉันมีเหตุผล :)

รูปแบบอินพุตค่อนข้างแปลก เพื่อรองรับอินพุตเชิงลบอักขระตัวแรกคาดว่าจะเป็นอย่างใดอย่างหนึ่ง+หรือ-เพื่อระบุสัญญาณ ค่าไบต์ของอักขระที่สองคือขนาดของอินพุต (เนื่องจากฟิชชันไม่สามารถอ่านจำนวนเต็มฐานสิบ) ดังนั้นถ้าคุณต้องการ111คุณจะผ่านมัน+oใน STDIN และถ้าคุณต้องการให้-56คุณผ่านมัน-8ไป แทนที่+และ-คุณสามารถใช้อักขระใด ๆ ที่มีรหัสอักขระต่ำหรือสูงกว่าตามลำดับ สิ่งนี้มีประโยชน์ในการส่งผ่านบางสิ่งเช่น-n(ซึ่งคุณechoอาจถือว่าเป็นข้อโต้แย้ง) เช่น, 0n.

ลองดูว่าเราจะหาค่าลบของจำนวนที่เป็นลบได้อย่างไร เราต้องการคำนวณจำนวนจากน้อยที่สุดไปเป็นบิตที่สำคัญที่สุด (เราจะกดบิตเหล่านั้นลงบนสแต็กและพิมพ์ทั้งหมดในตอนท้ายเพื่อให้ได้ตามลำดับที่ถูกต้อง) หลักแรกนั้นก็แค่ความเท่าเทียมกันของตัวเลขและเราหารจำนวนด้วย 2 เพื่อดำเนินการต่อ ตัวเลขถัดไปเป็นลบ (มีค่า -2) - แต่ควรสังเกตว่าบิตนี้จะถูกตั้งค่าเมื่อใดก็ตามที่ 2 บิตจะถูกตั้งค่าในเลขฐานสองปกติ ข้อแตกต่างเพียงอย่างเดียวคือเราต้องตอบโต้ -2 ด้วยตัวเลขที่มีค่าบวกสูงกว่า ดังนั้นสิ่งที่เราทำคือ:

  • เรากำหนดความเท่าเทียมกันอีกครั้ง - นี่คือ negabit ถัดไป - และหารด้วย 2 เหมือนก่อน
  • หากตัวเลขนั้นเป็น a 1เราจะเพิ่มจำนวนที่เหลือทีละ 1 เพื่อตอบโต้การลบบิต (ความแตกต่างระหว่าง negabit และ bit คือเมื่อค่าของบิตที่สำคัญยิ่งกว่าถัดไป)

การทำให้โค้ดง่ายขึ้นเป็นผลมาจากการสังเกตว่าการเพิ่มเงื่อนไขลงไปที่นี่นั้นเท่ากับการปัดเศษจำนวนขึ้นเมื่อการหารจำนวนเต็ม (ถ้าบิตที่ถูกทิ้งคือ 1 เราจะเพิ่มผลลัพธ์ที่หารด้วยจำนวนเต็ม 1)

จากนั้นบิตถัดไปเป็นเพียงค่าบวกอีกครั้งเพื่อให้เราสามารถกำหนดได้ตามปกติ นั่นหมายความว่าเราต้องการลูปที่คำนวณสองบิตในแต่ละครั้งสลับกันระหว่างการปัดเศษขึ้นและปัดเศษลงสำหรับจำนวนที่เหลือ แต่เราต้องการป้อนลูปตรงกลางเพื่อเริ่มต้นการปัดเศษ

เราจะจัดการจำนวนเต็มลบได้อย่างไร ปัญหาคือฟิชชันไม่สามารถทำเลขคณิตตามอำเภอใจในจำนวนเต็มลบได้เนื่องจากมวลชนมักไม่เป็นลบ ดังนั้นเราจะต้องทำอะไรที่ซับซ้อนมาก ๆ เช่นการทำงานกับขนาดและการติดตามสัญญาณที่อื่น อย่างไรก็ตามการแทนค่าของจำนวนลบนั้นสามารถคำนวณได้จากจำนวนบวกที่เกี่ยวข้อง:

ถ้าnเป็นลบคำนวณตัวแทน negabinary ของn / 2 (ปัดเศษขึ้น ) และผนวกความเท่าเทียมกันของn

นี่เป็นขั้นตอนแรกของการวนสองบิตของเรา ดังนั้นสิ่งที่เราต้องทำคือเริ่มลูปที่จุดอื่นถ้าเครื่องหมายเป็นลบ

เงินออมส่วนใหญ่จาก 173 ไบต์ดั้งเดิมมาจากข้อมูลเชิงลึกเหล่านี้ซึ่งอนุญาตให้ฉันบีบอัดการตรวจสอบสามแบบและการวนซ้ำสองส่วนเป็นการวนซ้ำแบบเดียวด้วยการตรวจสอบแบบเดียว

โพสต์นี้จะยาวเกินไปถ้าฉันอธิบายรหัสทั้งหมดในรายละเอียด แต่ฉันจะชี้ให้เห็นบางส่วนเพื่อให้เค้าโครงคร่าวๆของโฟลว์การควบคุมและคุณสามารถไขปริศนารายละเอียดด้วยการอ้างอิงฟิชชัน

 /@\
^{ }[
,\?/
'
U
D
?

เริ่มจากD, สิ่งนี้อ่านเครื่องหมายบิตเป็นพลังงานและขนาดลงในมวลของอะตอมที่ลงท้ายด้วย[(ไปทางขวา) บิตเครื่องหมายนี้จะสลับกันหลังจากผ่านแต่ละการตรวจสอบพาริตี้และจะพิจารณาว่าเราจะรักษาส่วนที่ถูกปัดลงหรือปัดเศษขึ้นครึ่งหนึ่งของอินพุตลูป

     /S@+>\
    [<X/ @/
 \  @\J^X\
 M  $ $
 K  %@]  /

นี่คือลูปที่คำนวณแต่ละบิตและดึงข้อมูลครึ่งที่ถูกต้องลงในการทำซ้ำครั้งถัดไป SและJถูกนำมาใช้เพื่อสร้างสำเนาของครึ่งที่เหมาะสมขึ้นอยู่กับบิตเครื่องหมายปัจจุบันที่Xs ทำการคัดลอก >ในมุมขวาด้านบนคำนวณบิตที่เกิดขึ้นจริงซึ่งถูกส่งไปยังสแต็คKที่จะดึงภายหลัง ฉันคิดว่าเลย์เอาต์ของมุมขวาบนนั้นค่อนข้างดีและคุ้มค่าที่จะศึกษารายละเอียดถ้าคุณสนใจเรื่องฟิชชัน

%เป็นสวิทช์ซึ่งฟีดจำนวนกลับเข้ามาในวงตราบเท่าที่มันเป็นที่มากกว่า 0

    O


 M~\
 K/W%

 \{\/
0'A Y

เมื่อตัวเลขถึง 0 มันจะสะท้อนลงมาแทน นี้จะเริ่มต้นห่วงซึ่งดึงบิตจากสแต็คอื่นเพิ่มเข้าไปในรหัสตัวละครและพิมพ์พวกเขาด้วย0 Oโปรแกรมจะหยุดทำงานเมื่อสแต็กว่างเปล่าเนื่องจากอะตอมควบคุมจะถูกผลักลงบนสแต็ก (และหลังจากนั้นไม่มีอะตอมเคลื่อนที่เหลืออีก)


ภารกิจที่ 5 โหมโรง219 179 96 ไบต์

หน้า Esolang สำหรับโหมโรง

Stack Snippet interpreter สำหรับโหมโรง

29+129+716705-7607-05-4759+705-14129+05-18705-29+719+05-1507-19+39+449+767549+03-68(67+^+^+^++!)

สิ่งนี้เริ่มต้นจากโปรแกรมโหมโรงคงที่เอาต์พุตที่สร้างขึ้นด้วยมือแบบมาตรฐานพร้อมเสียงสามเสียง หลังจากการแชทกับ Sp3000 ฉันตัดสินใจลองเสียงเดียว มันกลับกลายเป็นว่ามันใช้งานได้ดีเพราะมันง่ายกว่ามากที่จะใช้ตัวอักษรเก่า จากนั้นเดนนิสก็ให้คำแนะนำเล็กน้อยกับฉันและฉันได้พบกับเวอร์ชันปัจจุบัน: ความคิดนั้นผลักออฟเซ็ตทั้งหมดจากตัวอักษรhไปที่สแต็คของเสียงเดียวเรียงลำดับกลับกันแล้วก็พิมพ์มันทีละวง hถูกเลือกเนื่องจากไม่มีhในสตริง (ซึ่งมีความสำคัญ - มิฉะนั้น0อ็อฟเซ็ตจะยกเลิกการวนซ้ำ) และเนื่องจากเป็นการลดการเข้ารหัสของออฟเซ็ตในแง่ของการหักล้างสองหลักและลบ

การเข้ารหัสออฟเซตถูกสร้างขึ้นด้วยสคริปต์ CJamนี้


ภารกิจที่ 8, Mathematica, 28 ไบต์

LongestCommonSequence@##==#&

Yay สำหรับบิวด์อิน (ตั้งชื่อ Mathematica เป็นบิตแปลกที่นี่ ... LongestCommonSubsequenceพบที่ยาวที่สุดที่พบบ่อยย่อยในขณะที่LongestCommonSequenceพบทั่วไปที่ยาวที่สุดsubsequence .)


ภารกิจ 9, J, 1 ไบต์

*

เช่นเดียวกับ APL และ K ตอบ แต่ดูเหมือนว่ายังไม่มีใครได้รับ J


ภารกิจ 10, Retina, 67 60 bytes

พื้นที่เก็บข้อมูล GitHub สำหรับ Retina

(.*).
 ______  $1<LF>|      | $1<LF> ()--() ~$1
+`(.{9})1
$1$1
~$
<empty>

แต่ละบรรทัดไปในไฟล์แยกต่างหากและ<LF>ควรแทนที่ด้วยอักขระบรรทัดใหม่และ<empty>ควรเป็นไฟล์ว่าง นอกจากนี้คุณยังสามารถใส่ทั้งหมดนี้ในไฟล์เดียวและใช้-sตัวเลือก แต่ที่ไม่อนุญาตให้มีการฝังตัวของตัวอักษรขึ้นบรรทัดใหม่ในสถานที่<LF>ๆ คุณสามารถเลียนแบบสิ่งนั้นได้โดยทำสิ่งที่ชอบ

echo -n "111" | ./Retina -s train.ret | ./Retina -e "<LF>" -e "\n"

จากตัวอย่างข้างต้นแสดงให้เห็นว่าอินพุตนั้นคาดว่าจะไม่เหมือนกัน แนวคิดของรหัสคือการสร้างสำเนาของอินพุตแบบยูนารีสามชุด (ลบ 1) แต่ละชุดมีสำเนาของบรรทัดที่สอดคล้องกัน จากนั้นเราจะทำซ้ำตัวอักขระเก้าตัวสุดท้ายซ้ำ ๆ กันไปข้างหน้า a 1จนกว่า1จะหมดไปดังนั้นจึงทำซ้ำบรรทัดตามที่จำเป็น ในที่สุดเราก็ลบส่วนท้ายที่ไม่เกี่ยวข้อง~ออกไป


10

เอ๊ะฉันจะเริ่มด้วยคู่ที่ฉันเดา การเล่นกอล์ฟครั้งแรก

ภารกิจที่ 1, Python, 38 21 ไบต์

lambda n:(n*n-n)**2/4

รวมรายการของลูกบาศก์ทั้งหมดไม่เกิน x เปลี่ยนการแสดงออกด้วย xnor แล้ว

ภารกิจที่ 2, TI-Basic 89, 244 ไบต์

Func
If iPart(log(x+1)/log(2))=log(x+1)/log(2) Then
 Return log(x+1)/log(2)
Else
 Return 0
EndIf
EndFunc
Func
If isPrime(x)=false
 Return 0
If ipart(log(x+1)/log(2))=log(log(x+1)/log(2)) Then
 Return log(x+1)/log(2)
Else
 Return 0
EndIf
EndFunc

ไม่แน่ใจ 100% ในอันนี้จะทดสอบเมื่อฉันหาแบตเตอรี่ใหม่สำหรับเครื่องคิดเลข isPrime เป็น builtin ส่วน ipart เป็นจำนวนเต็ม (2.3 -> 2)

ภารกิจที่ 3, Perl, 45 34 ไบต์

@n=sort{$a-$b}@ARGV;print$n[$#n/2]

ไฟล์ perl 1 2 3 4 -> 2. บันทึกสองไบต์ด้วย @nutki พิมพ์แทนที่จะบันทึกลงในตัวแปรแล้วจึงพิมพ์ตัวแปร

ภารกิจที่ 4, Ruby, 43 40 ไบต์

x=2863311530
p ((gets.to_i+x)^x).to_s(2)

อย่างน้อยก็ใช้งานได้ใน 1.9 ไม่รู้เกี่ยวกับ 1.8 ในเลขฐานสอง '10' * 16 (หรือ 2863311530) บวกด้วยจำนวน xor ที่มี 1,0101010 ... คือลบ เอาต์พุตการแทนค่าสตริงด้วยเครื่องหมายคำพูด (3 -> "111" แทน 3 -> 111) ไม่สามารถหาคณิตศาสตร์เพื่อเขียน x ด้วยตัวอักษรน้อยลง

งานที่ 5, Malbolge, 682 354 ไบต์

D'``_]>n<|49ixTfR@sbq<(^J\ljY!DVf#/yb`vu)(xwpunsrk1Rngfkd*hgfe^]#a`BA]\[TxRQVOTSLpJOHlL.DhHA@d>C<`#?>7<54X8165.R2r0/(L,%k)"F&}${zy?`_uts9Zvo5slkji/glkdcb(fed]b[!B^WVUyYXQ9UNrLKPIHl/.JCBGFE>bBA@"!7[;{z276/.R2r0)(-&J$j('~D${"y?w_utyxq7Xtmlkji/gf,MLbgf_dc\"`BA]\UyYXWP8NMLpPIHGLEiIHGF(>C<A@9]7<;:3W7w5.-210/(L,%k#('~}C{"y?`_uts9wpXn4rkpoh.lNMiha'eGF\[`_^W{h

ทดสอบออนไลน์ที่นี่คิดว่านี่สั้นมาก กอล์ฟมากที่สุดเท่าที่จะทำได้ บันทึก 300 ไบต์แล้วทำไมล่ะ?

ภารกิจ 6, ทุบตี, 62 50 40 ไบต์

[ `date +%j`=1 ]&&echo 'Happy New Year!'

พบข้อมูลเกี่ยวกับ% j จากโพสต์อื่น

ภารกิจที่ 10, Befunge-98, 121 Bytes

>&:>1-:" ____"v
   |,k8: '"__"<
   >a,$:>1-v
      > |
>' 8k,^ #
^|':k4 '|':<
v ',*25$<
>,:1-: ")(--)("v
^," ~"_@#,k6" "<

เปลี่ยนเป็น befunge-98 รุ่นเก่าคือ Befunge-93, 227 157 147 bytes ใช้เชื้อราที่เขียนใน Haskellเพื่อทำการทดสอบ ใช้ "ทำหลาย ๆ ครั้ง k" และเพิ่มอักขระเดียวในสแต็กด้วย ' ฉันมีความรู้สึกว่าสามารถลงเล่นกอล์ฟได้ถึง 110 หรือน้อยกว่า แต่ฉันใช้เวลาไปกับสิ่งนี้มากเกินไป ...


@Dennis เนื่องจากฉันไม่สามารถถามเกี่ยวกับโพสต์หลักฉันจะถามที่นี่ อินพุตที่คั่นด้วยช่องว่างนั้นใช้ได้สำหรับงาน 3 หรือไม่ มันจะไม่อยู่ใน []
จาค็อบ

อะไรก็ตามที่เหมาะกับความต้องการของคุณ
เดนนิส

1
คุณสามารถลดผลรวมของก้อนที่มีสูตรเป็นlambda n:(n*n-n)**2/4
XNOR

คุณสามารถใช้0=fPart(expression) rather than iPart (expression) = expression` ในคำตอบพื้นฐาน TI-89 ของคุณ
lirtosiast

1
ฉันคิดว่าการโต้แย้งนั้นใช้งานไม่ได้เมื่อพูดถึงบางอย่างเช่น Python 2/3 ตัวอย่างเช่น `n` ทำงานได้ดีกว่า str (n) ใน 2 แต่ไม่ทำงานใน 3 ฉันไม่สามารถนึกถึงตัวอย่างอื่น ๆ ได้ในขณะนี้ฉันกังวลเกี่ยวกับการเล่นกอล์ฟมากกว่าก่อนที่จะตอบ: p
Jacob

9

สิ่งแรก: งาน 6 ในทางเทคนิคจะไม่นับ ฉันอัพโหลดuncภายในหนึ่งชั่วโมงที่ผ่านมา อย่างไรก็ตามฉันเกือบจะอัปโหลดเมื่อเช้านี้ แต่ตัดสินใจที่จะเขียนชุดทดสอบก่อน คนบ้า

ดังนั้นต่อไปนี่!

โปรดทราบว่าสิ่งที่ไม่ได้ใช้งานส่วนใหญ่นั้นจงใจย้อนกลับดังนั้นความ&&หมาย||และเช่นนั้นจึงเป็นสาเหตุที่การดำเนินการบางอย่างดูแปลก ๆ (เช่นใช้-เพื่อคำนวณคิวบ์)

ภารกิจที่ 1, Haskell, 21 ไบต์

f n=sum$map(^3)[0..n]

ภารกิจที่ 2, Hy, 135 ไบต์

(import math)(fn[n](and(if(and(not(% n 2))(> n 2))false(all(genexpr(% n i)[i(->> n(math.sqrt)int inc(range 3))])))(->> n dec(& n)not)))

ภารกิจ 3, Dart, 37 ไบต์

ฟังก์ชั่นโผแรกของฉัน!

f(l){l.sort();return l[l.length~/2];}

ภารกิจที่ 5, INTERCAL, 1,047 ไบต์

DO ,1 <- #46
DO ,1SUB#1 <- #242
DO ,1SUB#2 <- #152
DO ,1SUB#3 <- #208
PLEASE DO ,1SUB#4 <- #248
DO ,1SUB#5 <- #248
DO ,1SUB#6 <- #192
PLEASE DO ,1SUB#7 <- #128
DO ,1SUB#8 <- #128
DO ,1SUB#9 <- #72
PLEASE DO ,1SUB#10 <- #120
DO ,1SUB#11 <- #8
DO ,1SUB#12 <- #224
PLEASE DO ,1SUB#13 <- #200
DO ,1SUB#14 <- #208
DO ,1SUB#15 <- #32
PLEASE DO ,1SUB#16 <- #208
DO ,1SUB#17 <- #120
DO ,1SUB#18 <- #88
PLEASE DO ,1SUB#19 <- #40
DO ,1SUB#20 <- #8
DO ,1SUB#21 <- #208
PLEASE DO ,1SUB#22 <- #232
DO ,1SUB#23 <- #120
DO ,1SUB#24 <- #208
PLEASE DO ,1SUB#25 <- #248
DO ,1SUB#26 <- #56
DO ,1SUB#27 <- #96
PLEASE DO ,1SUB#28 <- #160
DO ,1SUB#29 <- #208
DO ,1SUB#30 <- #208
PLEASE DO ,1SUB#31 <- #136
DO ,1SUB#32 <- #120
DO ,1SUB#33 <- #192
PLEASE DO ,1SUB#34 <- #112
DO ,1SUB#35 <- #64
DO ,1SUB#36 <- #16
PLEASE DO ,1SUB#37 <- #128
DO ,1SUB#38 <- #48
DO ,1SUB#39 <- #208
PLEASE DO ,1SUB#40 <- #128
DO ,1SUB#41 <- #224
DO ,1SUB#42 <- #160
PLEASE DO ,1SUB#43 <- #40
DO ,1SUB#44 <- #56
DO ,1SUB#45 <- #200
PLEASE DO ,1SUB#46 <- #126
PLEASE DO READ OUT ,1
DO GIVE UP

ภารกิจที่ 6, unc, 157 ไบต์

!include>=fgQVb%U<=
!include>=gVZR%U<=
false lRNe[]<<gVZR_g t:=gVZR[5]:volatile gZ m:=-YbPNYgVZR[&t]:for[#m%gZ_Zba||m%gZ_ZQNl!=6]chgf[L'uNccl ARj LRNe#']:>>

ภารกิจ 8, rs, 42 ไบต์

#
+#(.)(.*) .*?\1/\1#\2 
.*# .*$/1
[^1]+/0

การสาธิตสด

งาน 10, Pyth, 46 ไบต์

jb(j*d2m+\ *\_6Qjdm"|      |"Qj\~m" ()--() "Q)

การสาธิตสด


@Dennis โอ๊ะโอ! แก้ไขแล้ว!
kirbyfan64sos

1
ดีฉันไม่ทราบ UNC แต่ผมค่อนข้างมั่นใจว่าคุณไม่จำเป็นต้องเป็นหนึ่งใน!includes ไม่แน่ใจว่าอย่างใดอย่างหนึ่งแม้ว่า
Dennis

@Dennis แรกรวมถึงเป็นที่สองคือstdio.h time.hฉันต้องการทั้งคู่
kirbyfan64sos

สิ่งที่uncใช้ในการรวบรวมรหัส C? GCC stdio.hจะทำงานได้ดีโดยไม่ต้อง time.hไม่แน่ใจเกี่ยวกับ
Dennis

@Dennis unc ไม่มีชุดคอมไพเลอร์ มันแค่เอาท์พุทรหัส C; ฉันต้องรวบรวมมันเอง อย่างไรก็ตามนั่นก็สมเหตุสมผลแล้ว ฉันจะตรวจสอบในภายหลัง
kirbyfan64sos

8

ภารกิจที่ 1, APL, 7 ไบต์

+/3*⍨⍳⎕

คุณสามารถลองออนไลน์ได้โดยใช้ ngn / apl แม้ว่ามันจะทำงานกับการใช้งาน APL ใด ๆ ที่เป็นค่าเริ่มต้นไปที่ 0 ดัชนีกำเนิด

นี้จะคิวบ์จำนวนเต็มแต่ละค่าจาก 0 ถึงอินพุต ( ⍳⎕) -1 โดยการเดินทาง ( ) อาร์กิวเมนต์ของตัวดำเนินการพลังงาน ( *) เวกเตอร์ที่ได้จะลดลงโดยการรวม ( +/) และส่งคืนสเกลาร์


ภารกิจที่ 2, Julia, 42 ไบต์

n->(isprime(n)&&int(log2(n+1))==log2(n+1))

สิ่งนี้จะสร้างฟังก์ชั่นที่ไม่ระบุชื่อซึ่งยอมรับว่าเป็นจำนวนเต็มเป็นอินพุตและส่งคืนบูลีน หากต้องการเรียกใช้ให้ตั้งชื่อเช่นf=n->...เรียกว่าให้มันชื่อเช่น

ก่อนอื่นเราใช้ฟังก์ชั่นในตัวของ Julia isprimeเพื่อตรวจสอบว่าnดีหรือไม่ ถ้าเป็นเช่นนั้นเราจะตรวจสอบว่าlog2(n+1)เป็นจำนวนเต็ม ถ้าเป็นเช่นนั้นnสามารถเขียนได้2^k-1สำหรับบางคนkและจึงnเป็นนายกรัฐมนตรี Mersenne


ภารกิจที่ 3, ELI , 19 ไบต์

{f:x[<x][~.0.5*#x]}

สิ่งนี้สร้าง monad fที่ส่งกลับค่ามัธยฐานของเวกเตอร์อินพุต

คำอธิบาย Ungolfed +:

{f:         // Define a function f
 x[<x]      // Sort the input vector
 [          // Select the element at index...
 ~.0.5*#x   // ceiling of 0.5 * length(input)
]}

ตัวอย่าง:

    f 1 2 3 4
2
    f ?.!20   // Apply f to 20 random integers in 1..20
4

ภารกิจ 4, คู่, 39 ไบต์

@(n,x=2863311530)dec2bin(bitxor(n+x,x))

สิ่งนี้จะสร้างตัวจัดการฟังก์ชันที่รับจำนวนเต็มเป็นอินพุตและส่งคืนสตริง negabinary ที่เกี่ยวข้อง หากต้องการเรียกใช้ให้ตั้งชื่อเช่นf=@...และเรียกใช้ด้วยfeval(f, <input>)และทำงานด้วย

คุณสามารถลองออนไลน์ได้


ภารกิจที่ 5, CJam, 47 ไบต์

"pneumonoultramicroscopicsilicovolcanoconiosis"

สตริงถูกพิมพ์อย่างง่าย ๆ ไปยัง STDOUT คุณสามารถลองออนไลน์ได้หากคุณรู้สึกอยากกินมาก


งาน 6, Windows Batch, 46 ไบต์

if "%date:~4,5%"=="01/01" echo Happy New Year!

ตัวแปรที่มีวันที่ปัจจุบันในรูปแบบ%date% Thu 06/25/2015เราสามารถเลือกวันและเดือนโดยได้รับการย่อยของความยาว 5 หลังจากข้าม 4 %date:~4,5%ตัวอักษรแรก: จากตรงนั้นเราแค่ตรวจสอบว่ามันเป็นวันที่ 1 มกราคมและบอกว่าสวัสดีปีใหม่ถ้าเป็น


ภารกิจที่ 7, Pyth, 26 ไบต์

=Gr13312 19895FNU64pC.(.SG

ก่อนอื่นเรากำหนดGให้ช่วง 13312 ถึง 19894 รวม จากนั้นเราวนซ้ำ 64 ครั้งและในแต่ละการวนซ้ำเราสลับG( .SG) ลบและกลับองค์ประกอบสุดท้าย ( .() และพิมพ์การแสดงตัวอักขระ ( pC)

คุณสามารถลองออนไลน์ได้


ภารกิจที่ 8, ทับทิม, 36 ไบต์

def f(a,b)!b.tr("^"+a,"")[a].nil?end

นี้กำหนดฟังก์ชั่นfที่รับสองสายaและbที่เป็นสตริงที่พบภายในab

ทุกอย่างยกเว้นอักขระในaจะถูกลบออกจากการbใช้.tr()และเราตรวจสอบว่าผลลัพธ์มีการaใช้อย่างแน่นอน[]หรือไม่ นี้จะกลับnilถ้าสตริงไม่พบเพื่อให้เราสามารถได้รับค่าบูลีนโดยใช้กับ!.nil?


งาน 9, R, 16 ไบต์

function(x,n)n*x

นี้จะสร้างวัตถุฟังก์ชั่นที่ไม่มีชื่อที่ยอมรับชนิดของอาร์เรย์หรือเมทริกซ์ใด ๆxและเป็นจำนวนเต็มnและคูณองค์ประกอบของแต่ละโดยx nหากคุณต้องการคุณสามารถลองออนไลน์ได้


ภารกิจ 10, Python 3, 92 ไบต์

n=int(input())
l="\n"
w=" ()--() "
print(" ______  "*n+l+"|      | "*n+l+(w+"~")*(n-1)+w)

ตรงไปตรงมาสวย คุณสามารถลองออนไลน์ได้


คำตอบ APL มีขนาดไม่เกิน 7 ไบต์เนื่องจากมีอักขระ Unicode สามตัวในช่วงที่สูงขึ้น
Tom

6
@Tom: ทุกคำตอบสามารถเลือกการเข้ารหัสที่สะดวกที่สุด ในหน้ารหัส APLอักขระหนึ่งตัวคือหนึ่งไบต์
Dennis

คุณสามารถลองออนไลน์ได้หากคุณรู้สึกว่า :
Luis Mendo

7

ภารกิจที่ 1,> <>, 10 + 3 = 13 ไบต์

::*-:*4,n;

รันสิ่งนี้โดยใช้ตัวแปล Python อย่างเป็นทางการโดยใช้-vแฟล็ก (ที่ราคา 3 ไบต์) นี้สี่เหลี่ยมปริมาณ(n - n*n)และแบ่งโดย4ซึ่งแน่นอนจะเทียบเท่ากับ squaring และหารด้วย(n*n - n)4

ภารกิจ 2, GAP, 63 62 ไบต์

b:=function(m)return[2]=AsSet(Factors(m+1))and IsPrime(m);end;

(บันทึกช่องว่างด้วยการเขียนความเท่าเทียมกันในอีกทางหนึ่ง)

งาน 3, R, 43 39 ไบต์

f=function(v)sort(v,d=T)[length(v)%/%2]

ขอบคุณ Plannapus สำหรับการปรับปรุงที่ดี!

ภารกิจ 4, Piet, 155 135 115 5 * 19 = 95 codels

ป้อนคำอธิบายรูปภาพที่นี่

ทดสอบโดยใช้ล่ามออนไลน์นี้ด้วยขนาด codel 13 หรือใช้ล่ามที่คุณต้องการ - แจ้งให้เราทราบหากคุณมีคนที่คุณชอบ!

ทำให้เป็นเอาต์พุต0แทนที่จะเป็นสตริงว่างสำหรับอินพุต0นั้นไม่สะดวก ฉันใช้ if-then ใกล้จุดเริ่มต้นเพื่อดูแลกรณีนี้ จากนั้นใช้ while-loop เพื่อคำนวณตัวเลขในกรณีที่ไม่เป็นศูนย์

ขอบคุณ Sp3000 มากสำหรับความคิดเห็นที่เป็นประโยชน์ซึ่งช่วยให้ฉันบันทึกโคเดอร์บางตัว!

ภารกิจที่ 5, Lua, 52 ไบต์

print"pneumonoultramicroscopicsilicovolcanoconiosis"

คุณสามารถทดลองใช้งานได้ที่นี่

งาน 6, LaTeX, 157 139 136 127 128 ไบต์

\documentclass{book}\begin{document}\count1=\day\multiply\count1 by\month
\ifcase\count1\or Happy New Year!\else~\fi\end{document}

หากผลิตภัณฑ์ของวันและเดือนนั้น1ให้พิมพ์ข้อความ มิฉะนั้นไม่มีอะไร (วันปีใหม่สะดวกมากสำหรับการออกแบบนี้: เนื่องจากผลลัพธ์ที่เรากำลังมองหาคือ1เราต้องการเพียงหนึ่งorคำสั่งคำสั่งnth orระบุพฤติกรรมสำหรับค่าn )

หมายเหตุ: รุ่นก่อนหน้าของฉันหายไปจากการส่งคืนบรรทัดซึ่งเป็นข้อผิดพลาด (ฉันลองทดสอบฟังก์ชั่นนี้ แต่การทดสอบอย่างถูกต้องอาจใช้เวลาสักครู่ ... )

เวอร์ชันเดิมของฉันใช้calcแพ็คเกจซึ่งสะดวกกว่าเวอร์ชันปัจจุบันของฉันมาก สิ่งที่ต้องจำไว้สำหรับ "ชีวิตจริง"!

ภารกิจที่ 7, ทับทิม, 62 ไบต์

for r in Array(13312..19893).sample(64)
puts [r].pack('U*')end

ภารกิจที่ 8, JavaScript, 78 ไบต์

h=function(l,m){u=1+m.indexOf(l[0]);return(!l||u&&h(l.substr(1),m.substr(u)))}

โซลูชันแบบเรียกซ้ำทดสอบว่าlเป็นสตริงย่อยmหรือไม่ ถ้าlว่างเปล่า!lผลลัพธ์จะอยู่ในtrueและฟังก์ชั่นจะสิ้นสุดลง (ในกรณีนี้l[0]จะไม่ได้กำหนด แต่ JavaScript เป็นตกลงกับที่.) มิฉะนั้นจะมองหาตัวอย่างแรกของในl[0] mหากไม่พบหนึ่งก็จะm.indexOf(l[0])ส่งผล-1ให้uผลลัพธ์ใน0และฟังก์ชั่นสิ้นสุดลง

มิฉะนั้นจะตัดการป้อนข้อมูลแรกของlและuรายการแรกของmและตรวจสอบต่อไป

งาน 9, Python, 72 60 ไบต์

def i(a,n):
 try:return[i(c,n)for c in a]
 except:return n*a

เจาะลึกลงไปถึง "ระดับต่ำสุด" ซึ่งaไม่มีรายการอีกต่อไปเพียงแค่จำนวนเต็มจากนั้นทำการคูณ

ขอบคุณเดนนิสที่ช่วยฉันให้รอด 12 ไบต์!

งาน 10, Groovy, 81 ไบต์

def j(n){(' ------  '*n+'\n'+'|      | '*n+'\n'+' ()--() ~'*n).substring(0,27*n)}

ลองมันนี่ ตอนแรกฉันพยายามใช้บางอย่างเช่น.join()วิธีการของไพ ธ อนสำหรับสตริงซึ่งทำให้สตริงพร้อมกับ "การเชื่อมโยงสตริง" โดยเฉพาะ (เช่นการเชื่อมโยงระหว่างรถยนต์รถไฟ) แต่ค่าใช้จ่ายนั้นมากเกินกว่าจะประหยัดได้

ฉันหวังว่าฉันจะไม่จัดการประชุมใด ๆ สำหรับคำตอบที่ยอมรับได้ในภาษาต่าง ๆ เหล่านี้ แต่โปรดแจ้งให้เราทราบหากฉันมี

ขอบคุณเดนนิสสำหรับความท้าทายที่ยอดเยี่ยม!


except:return n*aบันทึกสองสามไบต์สำหรับงาน 9 สำหรับงาน 1 ฉันจะนับการ-vตั้งค่าสถานะเป็นหนึ่งไบต์
เดนนิส

@Dennis ดูโพสต์เมตานี้ แม้ว่าโดยเมตาโพสต์นี้คุณสามารถแทนที่การ-vตั้งค่าสถานะด้วยi(แม้ว่าฉันคิดว่ามันจะดีถ้าทั้งสองรุ่นถูกกล่าวถึงเพื่อการทดสอบที่ง่ายขึ้น)
Sp3000

@Dennis ขอบคุณมากสำหรับการปรับปรุงสมาร์ทของคุณ!
mathmandan

1
3 ไบต์ถูกต้องโดยเมตาโพสต์ด้านบน (เว้นวรรค-,, v) ฉันแค่หมายความว่าคุณมีตัวเลือกในการป้อนข้อมูลเป็นจุดรหัสผ่านiคำแนะนำ
Sp3000

1
btw, สำหรับ # 4, โมดูโลเชิงลบนั้นไม่แปลกเลย - มันแตกต่างกันไปในแต่ละภาษา (เช่น Java ทำจากหน่วยความจำ) วิธีหนึ่งในการส่งออกสแต็กทั้งหมดอาจเป็นการเก็บบางสิ่งไว้ที่ด้านล่างของสแต็กที่คุณรู้ว่าจะไม่อยู่ในเอาต์พุต นอกจากนี้ยังมีPietCreator
Sp3000

6

ภารกิจที่ 1, Pyth, 5 ไบต์

s^R3Q

ใช้หมายเลขจาก stdin ขอบคุณสำหรับ @Jakube Uชี้ไร้ประโยชน์

งาน 6, javascript, 56 ไบต์

if(Date().slice(4,10)=="Jan 01")alert("Happy New Year!")

ภารกิจที่ 7, CJam, 16 ไบต์

6581,mr64<'㐀f+

สร้าง range, shuffles เลือก 64 อันดับแรกและแม็พการเพิ่มค่าเริ่มต้นและแปลงเป็นอักขระ 14 ตัวอักษร 16 ไบต์

ภารกิจ 8, คู่, 23 ไบต์

@(x,y)intersect(x,y)==x

กำหนดฟังก์ชั่นที่ไม่ระบุชื่อ

งานที่ 5, PHP, 45 ไบต์

pneumonoultramicroscopicsilicovolcanoconiosis

ไม่มีการบีบอัดเพียงพิมพ์

ภารกิจที่ 9, APL 1 ไบต์

 ×

เช่นเดียวกับคำตอบ K


@ เดนนิสฉันก็ไม่รู้เหมือนกัน - ฉันเพิ่งลองโหนกกับคำตอบนี้โดยไม่ต้องทดสอบ :) ฉันจะลองทดสอบอีมูเลเตอร์ในตอนนี้
Maltysen

@ เดนนิสโอ้คุณพูดถูกมันจะเฉลี่ยตรงกลาง 2 ลงไป
Maltysen

1
คุณกำลังทำอะไรที่มีพื้นที่ในการที่.slice(4, 10)?
LegionMammal978

@Dennis derrrp ขอโทษ
Maltysen

1
มีตัวย่อเพียงหนึ่งเดือนที่ลงท้ายด้วย "an" ดังนั้นคุณสามารถออกจาก J ได้เมื่อทำการทดสอบ (มันจะสั้นลงอย่างมากในการทำเช่น/an 01/.test(Date())นี้)
NinjaBearMonkey

6

ภารกิจที่ 1, R, 21 19 ไบต์

sum((1:scan()-1)^3)

ค่อนข้างตรงไปตรงมา อินพุตจาก STDIN

ภารกิจที่ 2, Perl, 40 66 ไบต์

$a=log(<>+1)/log(2)+1;print$a==int($a)&&(1x$a)!~/^1?$|^(11+?)\1+$/

เพิ่มตัวตรวจสอบเฉพาะ (ตัวตรวจสอบหมายเลขเฉพาะของ Abigails regex)

งาน 3, PARI / GP, 24 22 ไบต์

m(v)=vecsort(v)[#v\2];

ครั้งแรกที่ฉันได้สัมผัสสิ่งนี้ อาจต้องเรียนรู้เพิ่มอีกนิด

งาน 4, T-SQL, 235 ไบต์

CREATE FUNCTION D(@ INT)RETURNS TABLE RETURN WITH R AS(SELECT @/-2+(IIF(@%-2<0,1,0))D,CAST(ABS(@%-2) AS VARCHAR(MAX))M UNION ALL SELECT D/-2+(IIF(D%-2<0,1,0)),CAST(ABS(D%-2)AS VARCHAR(MAX))+M FROM R WHERE D<>0)SELECT M FROM R WHERE D=0

ฟังก์ชันตารางแบบอินไลน์โดยใช้ CTE แบบเรียกซ้ำ มีขนาดใหญ่มาก แต่สนุกที่จะทำ

ใช้

SELECT * FROM D(18)
M
------
10110

งาน 5, GAP, 48 ไบต์

"pneumonoultramicroscopicsilicovolcanoconiosis";

งาน 6, Excel, 51 48 ไบต์

=IF(TEXT(NOW(),"md")="11","Happy New Year!","")

ขอบคุณ @Bond สำหรับ 3 ไบต์

ภารกิจที่ 7, Python 2.6, 98 93 85 ไบต์

from random import*
l=range(13312,19893)
shuffle(l)
print ''.join(map(unichr,l[:64]))

นี่เป็นครั้งแรกที่ฉันพยายามทำสิ่งใดใน Python ดังนั้นอาจดีขึ้นมาก ขอบคุณ @Dennis และ @Jacob สำหรับเคล็ดลับที่ยอดเยี่ยม

ภารกิจที่ 8, TCL, 57 ไบต์

proc m {a b} {string match [regsub -all (.) $a *\\1]* $b}

ความอัปยศที่ลบช่องว่างออกฆ่านี้

งาน 9, Pike, 53 ไบต์

mixed m(array(array(int))a,int n){return(a[*])[*]*n;}

ฟังก์ชันที่ส่งคืนอาร์เรย์ที่คูณ

งาน 10, PowerShell, 88 ไบต์

Function t($n){Foreach($s in "  ______ "," |      |","~ ()--() "){($s*$n).Substring(1)}}

ฟังก์ชั่น Powershell ฉันคิดว่าฉันสามารถทำให้สั้นลงได้เล็กน้อย

และในที่สุดก็เสร็จ :)


คุณสามารถบันทึก 4 ไบต์ในงาน =IF(TEXT(NOW(),"md")="11","Happy New Year!","")6:
บอนด์

@Bond ขอบคุณสำหรับสิ่งนั้น
MickyT

ฉันไม่รู้จัก Python เหมือนกัน แต่l[:63]ควรทำงานและ(13312,19894)สั้นกว่าค่าคงที่เลขฐานสิบหก (และผลรวม)
Dennis

@Dennis ขอขอบคุณจะลองใช้และเปลี่ยนแปลง
MickyT

@ เดนนิสฉันเลือกปี 19893 เป็นค่าที่สูงเพราะrange(19892,0x4DB5+1)ให้ฉัน[19892, 19893]
MickyT

4

ภารกิจที่ 2, J, 10 ไบต์

1&p:*/@,#:

เพิ่มบูลีนเป็น 0 หรือ 1 ถ้าอินพุตเป็นค่าเฉพาะของการแทนค่าแบบไบนารี่จากนั้นนำผลิตภัณฑ์ ทำงานกับเวอร์ชั่นปัจจุบันของ J


ภารกิจที่ 5, HTML, 45 ไบต์

pneumonoultramicroscopicsilicovolcanoconiosis

งาน 6, ปลา, 53 ไบต์

test 0101 = (date '+%d%m');and echo 'Happy New Year!'

ตามคำตอบ bash


ภารกิจที่ 8, APL, 12 ไบต์

{(⍳⍴⍺)≡⍋⍵⍳⍺}

นี่คือการแสดงออกฟังก์ชั่น มันเปรียบเทียบลำดับของตัวละครที่พบในสตริงที่มีขนาดใหญ่กว่ากับสิ่งที่คาดว่าจะได้หากพวกเขาถูกจัดเรียง


ภารกิจ 9, K, 1 ไบต์

*

ควรใช้งานได้ทุกรุ่น การดำเนินการทางคณิตศาสตร์กระจายไปทั่วอาร์เรย์


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
Martin Ender

2
รหัสของคุณสำหรับงาน 8 abc caxbxcไม่ทำงานสำหรับ
jimmy23013

4

ภารกิจที่ 1, ทับทิม, 40 ไบต์

def f n;(0..n-1).inject{|a,b|a+b**3};end

ครั้งแรกที่เคยเขียนอะไรใน Ruby ทดสอบกับทับทิม 1.8.7


ภารกิจที่ 2, R, 50 ไบต์

n=scan();p=log(n+1,2);!p%%1&sum(!n%%2:n,!p%%2:p)<3

คำนวณpตรวจสอบว่ามันเป็นจำนวนเต็มและถ้า n และ p เป็นจำนวนเฉพาะ


ภารกิจที่ 5, PostgreSQL, 54 ไบต์

SELECT'pneumonoultramicroscopicsilicovolcanoconiosis';

ภารกิจ 6, Lua, 55 ไบต์

print(os.date("%j")=="001" and "Happy New Year!" or "")

ภารกิจ 8, Python, 65 ไบต์

import re;f=lambda s,S:bool(re.search(re.sub(r'(.)',r'\1.*',s),S))

การใช้งาน:

>>> import re;f=lambda s,S:bool(re.search(re.sub(r'(.)',r'\1.*',s),S))
>>> f('abc','axbxcx')
True
>>> f('bac','axbxcx')
False
>>> f('abc','axdxcx')
False
>>> f('abc','abc')
True

งาน 10, Julia, 73 ไบต์

f(n)=print(" ______  "^n*"\n"*"|      | "^n*"\n"*(" ()--() ~"^n)[1:9n-1])

ขอบคุณ @AlexA สำหรับการช่วยให้รหัสนี้สั้นลง! ตัวอย่างผลลัพธ์:

julia> f(0)




julia> f(1)
 ______  
|      | 
 ()--() 

julia> f(2)
 ______   ______  
|      | |      | 
 ()--() ~ ()--() 

julia> f(3)
 ______   ______   ______  
|      | |      | |      | 
 ()--() ~ ()--() ~ ()--() 

สำหรับภารกิจที่ 2 คุณสามารถใช้log2
MickyT

ฉันนับ 86 ไบต์ในขณะนี้สำหรับงานจูเลีย 10. คุณ แต่คุณจะได้รับถึง 81 โดยใช้ฟังก์ชั่นแลมบ์ดา (เช่นแทนที่f(n)=ด้วยn->) และการเปลี่ยนแปลงที่จะเพียงแค่1:(9*n-1) 1:9n-1
Alex A.

ถูกต้องฉันนับ\nเป็น 1 ไบต์ตามนิสัย
plannapus

มากกว่าที่(" "*"_"^6*" ")^nคุณสามารถใช้" ______ "^n(เช่นเดียวกันสำหรับ| |ส่วน) 70 n->print(" ______ "^n*"\n"*"| | "^n*"\n"*(" ()--() ~"^n)[1:9n-1])ไบต์: (ช่องว่างระหว่างบาร์ไม่ปรากฏที่นี่)
อเล็กซ์ A.

3

ภารกิจที่ 1, Haskell, 17 ไบต์

f x=(x*(x-1)/2)^2

ภารกิจที่ 2, Mathematica, 30 ไบต์

PrimeQ@#&&Mod[Log2[#+1],1]==0&

ภารกิจที่ 3, JavaScript, 46 ไบต์

function(x){return x.sort()[0|(x.length-1)/2]}

งานที่ 5, MATLAB, 47 ไบต์

'pneumonoultramicroscopicsilicovolcanoconiosis'

งาน 6, ทับทิม, 56 ไบต์

print Time.now.to_s[5,5]=="01-01"?"Happy New Year!":""

ภารกิจ 7, Python, 106 ไบต์ (เยื้องด้วย\t)

from random import*
s=''
while len(s)<64:
    c=unichr(randint(0x3400,0x4DB5))
    if c not in s:
        s+=c
print s

โปรดทราบว่าการใช้งานที่ตรงไปตรงมาlist(set(s))ไม่ได้ทำงานที่นี่เช่นนี้จะทำให้เกิดการกระจายไม่สม่ำเสมอในพื้นที่ของสตริงเป็นไปได้ทั้งหมดเนื่องจากสมาชิกรายการสั่งซื้ออีกครั้ง



@Dennis re task 7: เห็นด้วยกับประเด็นที่ 1 จะแก้ไขเมื่อใดก็ตามที่ฉันมีโอกาส ในเรื่องที่เกี่ยวกับ REPL มีกฎต่อต้านสิ่งนั้นหรือไม่?
สราญ

ได้รับการแก้ไขทั้งหมดในขณะนี้
สราญ

สำหรับ 1 คุณน่าจะทำได้(x*x-x)^2/4ไหม
xnor

น่ารำคาญฟังก์ชั่นการจัดเรียงเริ่มต้นของจาวาสคริปต์แปลงตัวเลขเป็นสตริงเมื่อทำการเปรียบเทียบดังนั้นมันจะทำการเปรียบเทียบตัวเลขแรกของทุก ๆ ตัวเลขเท่านั้น ดังนั้นจึงล้มเหลวใน [2,3,10]
NinjaBearMonkey

1
ใน 7 คุณสามารถใส่if c not in s:s+=cทั้งหมดในบรรทัดเดียวได้โดยประหยัดอักขระสองสามตัว นอกจากนี้ยัง0x3400สามารถแทนที่ด้วย13312ซึ่งมีความยาวหนึ่งอักขระ (และคล้ายกันสำหรับ 0x4db5) ในที่สุดมันจะไม่เปลี่ยนจำนวนตัวอักษร แต่ในกรณีที่คุณไม่ชอบการเยื้องแท็บคุณสามารถเยื้องกับช่องว่างเดียวแทน
mathmandan

3

ภารกิจที่ 1, Haskell, 15 ไบต์

f n=(n*n-n)^2/4

ภารกิจที่ 2, Julia, 28 ไบต์

n->(isprime(n)&&ispow2(n+1))

ภารกิจที่ 3, ระดับแปดเสียง, 30 ไบต์

@(x)sort(x)(ceil(length(x)/2))

ภารกิจที่ 5, Yacas , 45 ไบต์

pneumonoultramicroscopicsilicovolcanoconiosis

ภารกิจที่ 6, Mathematica, 46 ไบต์

If[DateList[][[{2,3}]]=={1,1},Happy New Year!]

งาน 9, PARI / GP, 10 ไบต์

(n,a)->n*a

3

งาน 3, คลิป, 13 ไบต์

gHk[tivt}l`sk

รุ่นอื่น:

gHkci`v``l`sk

`ดูเหมือนจะเสียค่าใช้จ่ายมากเกินไป

ภารกิจที่ 4, KSFTgolf, 16 ไบต์

g:]2%:)-2/:;xgpc

ล่ามอยู่ที่นี่ฉันไม่แน่ใจว่าฉันกำลังทำอะไร ... มันจะพิมพ์ตัวร้ายและชนกัน

มีข้อบกพร่องในล่าม หรือฉันจะเล่นกอล์ฟให้มีขนาดไม่เกิน 12 ไบต์โดยใช้การแปลงฐานในตัว (แต่ใช้ได้กับเลขจำนวนเต็มบวกเท่านั้น):

2*02-ba'Z=;x

เวอร์ชั่น CJam ดั้งเดิม:

qi{_1&_@^-2/}h;]W%

ฉันลอง Pip, นกกระจอกเทศ, คลิปและ Burlesque เพื่อดูว่ามี esolang กับ negabinary ในตัวหรือไม่ ไม่มีใครทำงานเลย KSFTgolf ใช้แล้วnumpyซึ่งดูเหมือนว่าจะมีพฤติกรรมแปลก ๆ บางอย่างเมื่อฐานเป็นลบ แต่มันไม่ง่ายที่จะทำให้มันทำงานกับตัวเลขที่ไม่ใช่ค่าบวก

ภารกิจที่ 7, CJam, 15 ไบต์

'䶶,DAm<>mr64<

ภารกิจที่ 8, APL, 21 ไบต์

∨/↑{⍺∧0,2∧/∨\⍵}/⌽⍞=↓⍞

ลองออนไลน์


Lol @ "ฉันไม่แน่ใจว่าฉันกำลังทำอะไรอยู่"
อเล็กซ์ A.

คำถามไม่ชัดเจนเกี่ยวกับเรื่องนี้ แต่ความตั้งใจของฉันคือรหัสสำหรับงาน 4 ควรจัดการกับอินพุต 0 รุ่นที่ไม่มีการแปลงฐานในตัวดูเหมือนว่าจะจัดการได้ดี
Dennis

@ เดนนิสคงที่ แต่ถ้าฉันเลือกที่จะใช้บริการเอก
jimmy23013

การใช้อ็อฟเซ็ตคงที่หรือส่วนประกอบเสริม 2 สามารถทำงานได้ ฉันจะยอมรับป้ายตามด้วยหมายเลขเอก
Dennis

3

ภารกิจ 2, x86 masm, 40 ไบต์

C7 45 FC FF FF 07 00 B9 
00 00 00 00 B8 02 00 00 
00 D3 E0 3B 45 FC 7D 03 
41 EB F1 B8 02 00 00 00
D3 E0 48 3B 45 FC 75 13

(ไม่รวมส่วนหัว MessageBox ฯลฯ - เฉพาะไบต์ที่เกี่ยวข้องเท่านั้น)

include     \masm32\include\user32.inc  
includelib  \masm32\lib\user32.lib

.data
    ClassName   db "Mersenne Prime Found",0
.data?

.code
start proc
    LOCAL IsMersenne: DWORD
    mov IsMersenne, 524287 ; put number to test in this input
    mov ecx, 0
l00p:
    mov eax, 2
    shl eax, cl
    cmp eax, IsMersenne
    jge br3ak
    inc ecx
    jmp l00p
br3ak:
    mov eax,2                                                                                     
    shl eax, cl 
    dec eax
    cmp eax, IsMersenne                                                           
    jnz n0pr1me                                                              
    invoke MessageBox, 0, addr ClassName, addr ClassName, 40h
n0pr1me:
    ret
start endp
end start

งาน 3, C, 136 ไบต์

#include<stdio.h> 
int C(void*A,void*B){return(*(int*)A-*(int*)B);} 
main(){int S=4;int A[]={3,1,2,4};qsort(A,S,4,C);printf("%i",A[((S&1)?S:S-1)/2]);}

รวบรวมโดยใช้ gcc -o Prime main.c


งาน 10, C ++, 478 ไบต์

#include<stdio.h>
#include<string.h> 
#include<stdlib.h>
void D(int Z){int L=9,i,X=0;const char*A=" ______  ";const char*B="|      | ";const char* C = " ()--() ~ ";char*P=(char*)malloc(27*Z+5);for(i=0;i<Z-1;i++){if(!i){memcpy(P,A,L);X+=L;}memcpy(&P[X],A,L);X+=L;if(i==Z-2){memcpy(&P[X],"\n",1);X++;}}for(i=0;i<Z;i++){memcpy(&P[X],B,L);X+=L;if(i==Z-1){memcpy(&P[X],"\n",1);X++;}}for(i=0;i<Z;i++){memcpy(&P[X],C,L);X+=L;if(i==Z-1)P[X-1]='\0';}printf("%s\n",P);free(P);}
main(){D(15);}

รวบรวมโดยใช้ g++ -o Trucks main.cpp

C & C ++ สามารถย่อให้สั้นลงได้ แต่ต้องการเพิ่มข้อผิดพลาดของคอมไพเลอร์ ไม่ทราบกฎที่แน่นอนดังนั้นฉันจึงพยายามทิ้งโค้ดโดยไม่มีข้อผิดพลาดของคอมไพเลอร์


3
ยินดีต้อนรับสู่ PPCG! คำเตือนคอมไพเลอร์สามารถละเว้นได้อย่างปลอดภัยตราบใดที่คอมไพเลอร์สร้างไบนารีที่ใช้งานได้
Dennis

2
ในโค้ดกอล์ฟคอมไพเลอร์ C จะเตือนคุณว่าสามารถตีได้ไกลขึ้นโดยไม่สร้างคำเตือน
องค์การคอมมิวนิสต์สากล

ละเว้นคำเตือน - และความรู้สึก, เอ้อ, ฟรีเพื่อรั่วไหลของหน่วยความจำมากที่สุดเท่าที่คุณต้องการเช่นกัน :-)
Toby Speight

3

ภารกิจที่ 1, Python, 35 ไบต์

lambda x:sum(_**3for _ in range(x))

ภารกิจที่ 3, CJam, 9 ไบต์

q~$_,(2/=

ภารกิจที่ 4, JavaScript, 55 53 ไบต์

function(n){s=0xAAAAAAAA;return((n+s)^s).toString(2)}

ภารกิจที่ 5, Pyth, 46 ไบต์

"pneumonoultramicroscopicsilicovolcanoconiosis

ภารกิจที่ 6, C #, 65 ไบต์

string c(){return DateTime.Now.DayOfYear<2?"Happy New Year!":"";}


2

ภารกิจที่ 1, Cjam, 7 ไบต์

q~,:+_*

แก้ไข: เพิ่งสังเกตเห็นมาร์ตินโพสต์สิ่งนี้ก่อนฉัน ฉันจะลองอย่างอื่น ...

ภารกิจ 3, Python, 30 ไบต์

lambda l:sorted(l)[~-len(l)/2]

Python 2

ภารกิจที่ 5, ///, 45 ไบต์

pneumonoultramicroscopicsilicovolcanoconiosis

///จะสะท้อนบางสิ่งโดยไม่มี/อักขระใด ๆ

ภารกิจที่ 7, Pyth, 19 ไบต์

s>64.SmC+13312d6582

โครงการ โปรดบอกฉันว่าฉันลบล้างคณิตศาสตร์ ลองที่นี่

งาน 9, คู่, 9 ไบต์

@(a,n)a*n

จัดการฟังก์ชันที่ไม่ระบุชื่อ ระดับแปดเสียงจะทำสิ่งนี้โดยอัตโนมัติด้วย matrix * scalar


สำหรับภารกิจ 7 นั้นจะต้องไม่ซ้ำกัน
Maltysen

ใช่ pyth มี.Sการสับเปลี่ยนและคุณสามารถใช้หนอแทนs jk
Maltysen

2

ฉันไม่ได้มีเวลาลองพวกเขาทั้งหมด แต่นี่เป็นการเริ่มต้น

ภารกิจที่ 1, dc, 8 ไบต์

d1+*d*4/

อินพุตและเอาต์พุตไปยังด้านบนสุดของสแต็กตามdcแบบแผน

ภารกิจที่ 5, Emacs Lisp, 46 ไบต์

'pneumonoultramicroscopicsilicovolcanoconiosis

การละเมิดกฎ:

grep 'pn.*v' /usr/*/*/brit*-large

สิ่งที่ดีที่สุดที่ฉันสามารถจัดการได้โดยการคลายออกจากรูปแบบการบีบอัดคือ 55 ใน Perl:

unpack("H45",'uïFVóÙ¤¼g°0Æö<¥le°°')=~y/0-9bdf/i-v/r

(ตัวอักษรที่ไม่สามารถพิมพ์ได้ด้านบนทำให้อ่านไม่ออกโดย SE แต่จริงๆแล้วไม่ใช่คำตอบของฉันฉันจึงไม่แก้ไข)

ภารกิจที่ 6, SQL, 54 ไบต์

SELECT IF(now()LIKE'%-01-0_%','Happy New Year!','Hi');

ฉันคิดว่าสิบวันแรกของเดือนมกราคมจะเป็นวัน 'ที่เหมาะสม' สำหรับคำทักทายนี้ แต่คุณสามารถปรับเปลี่ยนได้ตามใจชอบ สร้างผลงานออกมาสั้นกว่าการสกัดวันของปีnow() LIKEDATE_FORMAT(now(),'%j')

ภารกิจ 10, sed, 58 bytes

s/./ ()--() ~/g;s/.$//;h;y/()-~/___ /;p;g;y/ ()-~/|    /;G

อินพุตเป็น unary


strstrseaches สำหรับ substrings ไม่ใช่ส่วนประกอบ ฉันกลัวว่างาน 5 คือ kolmogorov-complex ดังนั้นการดึงคำจากพจนานุกรมอาจจะฉลาด แต่ก็ไม่ได้รับอนุญาต
Dennis

ขอบคุณ ฉันเข้าใจผิดลำดับหนึ่ง ฉันจะทำงานอื่น 5 แต่มันน่าเบื่อมาก
Toby Speight

มีการแก้ปัญหาที่น่าสนใจไม่กี่งาน 5 ไม่มีใครโพสต์มี แต่สั้นหนึ่งเพื่อให้ห่างไกล
Dennis

1

ภารกิจที่ 5, MarioGolf , 50 ไบต์

นี่เป็นภาษาที่ฉันพัฒนาขึ้นมาระยะหนึ่ง

รุ่นปัจจุบันมีฟังก์ชันการทำงานเพียงพอที่จะอนุญาตให้เรียกใช้ความท้าทายนี้

Y|<pneumonoultramicroscopicsilicovolcanoconiosis|O

คุณสามารถลองออนไลน์บนhttp://htmlpreview.github.io/?https://raw.githubusercontent.com/ismael-miguel/mariogolf/master/js/testpage.html#c:Y|<pneumonoultramicroscopicsilicovolcanoconiosis|O

ปัจจุบันการพัฒนาหยุดลงและการใช้งานไม่สมบูรณ์

ความมุ่งมั่นล่าสุดคือวันที่ 13 มีนาคม 2015

งาน 6, PHP, 37 ไบต์

อันนี้ง่ายจริงๆและสนุก!

<?=date(jn)==11?'Happy New Year!':'';

ภารกิจที่ 10, Javascript, 121 ไบต์

ใช่ไม่เล่นกอล์ฟ ...

แต่มันก็ทำงานได้!

console.log((' ______  '.repeat(i=prompt()))+'\n'+('|      | '.repeat(i))+'\n'+(' ()--() ~'.repeat(i).replace(/~$/,'')));

ลองมัน:

รหัสจะไม่แสดงผลได้ดีในส่วนย่อยของสแต็กเนื่องจากเริ่มต้นด้วย"ในเอาต์พุต มีการเพิ่มช่องว่าง Adicional เพื่อชดเชย

รหัสเดิมสามารถดำเนินการได้บนคอนโซลของ Chrome โดยไม่มีปัญหาใด ๆ และผลลัพธ์จะเป็นไปตามที่คาดหวัง


@Dennis ขอขอบคุณ! ฉันอ่านภารกิจผิดไป 5. ฉันยังคงดูว่าฉันจะทำงานอื่นอย่างไร แต่ฉันมีเวลาไม่ดี
Ismael Miguel

1
คุณแน่ใจเกี่ยวกับdate(dM)? ที่นี่จะส่งคืน“ 25 มิ.ย. ” (locale ตั้งค่าเป็น en_US) บางที“ j” และ” n“ อาจให้บริการได้ดีกว่าเนื่องจาก“ d” และ“ m” ส่งคืนค่า 0 padded to width 2
manatwork

@ manatwork คุณถูกต้อง มันเป็นความผิดพลาดของฉัน ที่คุณเห็นว่า
Ismael Miguel


1

ภารกิจที่ 1, คู่, 15 ไบต์

@(n)(n^2-n)^2/4

แก้ไข: ฉันคิดว่าฉันเพิ่มสิ่งนี้ แต่ดูเหมือนว่าฉันลืมที่จะบันทึก: สิ่งนี้ใช้ความจริงที่ว่า sum(1^3+2^3+3^3+...+n^3) = sum(1+2+3+...+n)^2 = [n*(n+1)/2]^2

งาน 3, Javascript, 24 ไบต์

x=>x.sort()[x.length>>1]

1

โอเคเรามาทำเรื่องง่าย ๆ เสียก่อน:

ภารกิจที่ 5, ASP, 45 ไบต์

pneumonoultramicroscopicsilicovolcanoconiosis

ภารกิจที่ 6, JavaScript, 46 ไบต์

/an 01/.test(Date())&&alert("Happy New Year!")

1

ภารกิจที่ 1, VBA, 126 ไบต์

Function f(n As Integer)
    Dim i As Integer
    For i = 0 To n - 1
        f = f + i ^ 3
        Next i
End Function

ฉันไม่รู้วิธีการเล่นกอล์ฟใน VBA ฉันไม่ได้พิมพ์ช่องว่างเดียว VBA แทรกช่องว่างโดยอัตโนมัติ =f(5)ในเซลล์ใน Excel จะแสดง 100

ภารกิจ 2, คู่, 32 ไบต์

@(n)isprime(n)&~mod(log2(n+1),1)

ภารกิจที่ 5, Golfscript, 47 ไบต์

"pneumonoultramicroscopicsilicovolcanoconiosis"

งาน 9, MATLAB, 9 ไบต์

@(A,n)A*n

มันเป็นการเริ่มต้น ...

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