첫 번째 코드 골프 데카 슬론 [닫기]


48

작업

모든 경쟁 업체는 다음 10 가지 작업 목록을 해결하려고합니다.

  1. 양수 판독 N 입력에서 및 제의 큐브의 합 반환 N 음이 아닌 정수.

    입력 1의 경우이 값을 반환해야합니다 0.

  2. 입력에서 양의 정수 n 을 읽고 nMersenne 소수 인 경우에만 값을 반환합니다 .

  3. 입력에서 비어 있지 않은 n 개의 정수 목록을 읽고 중간 값을 반환하십시오 .

    경우 n이 짝수, 두 개의 중간 값의 작은을 사용합니다.

    예를 들어 중앙값은 [1 4 3 2]입니다 2.

  4. 입력에서 정수 (양수, 음수 또는 0) 또는 밑이 10 또는 단항 인 문자열 표현을 읽고 선행 0을 입력하지 않고 숫자를 negabinary로 리턴하십시오 (입력 0 제외).

    출력은 편리한 방법 (숫자, 배열, 문자열 등)으로 형식화 할 수 있습니다.

  1. 을 반환 pneumonoultramicroscopicsilicovolcanoconiosis합니다.

  2. 현재 날짜를 확인하고 Happy New Year!그레고리력에 따라 적절한 경우 반환 하십시오.

  3. 유니 코드 블록 CJK Unified Ideographs Extension-A (U + 3400 – U + 4DB5) 에서 64 개의 고유 한 할당 된 코드 포인트를 무작위로 선택 하여 해당 문자의 문자열을 반환합니다.

    가능한 모든 문자열은 선택 될 확률이 동일해야합니다.

  4. 입력에서 인쇄 가능한 ASCII 문자의 두 문자열을 읽고 첫 번째 문자열의 문자가 두 번째 문자열의 하위 시퀀스를 구성하는 경우에만 값을 반환합니다.

    예를 들어 abc, axbxctruthy을 반환해야하고 bac, axbxcfalsy 반환해야합니다.

  1. 입력에서 다차원 직사각형 배열의 정수와 정수 n 을 읽고 모든 정수에 n을 곱한 수정 된 배열을 리턴하십시오 .

  1. 입력에서 음이 아닌 정수 n 을 읽고 아래 그림과 같이 n 개의 기차 마차 체인을 반환하십시오 .

    n = 3의 출력 예 :

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

    출력은 예제에서 보이는 한 임의의 공백으로 둘러싸 일 수 있습니다.

설명

  • 0 은 양수도 음수도 아닙니다.

  • 출력에서 후행 공백은 항상 허용됩니다.

  • 여러 가지 입력을 일관되고 편리한 순서로 읽을 수 있습니다.

규칙

  1. 같은 프로그래밍 언어로 두 가지 다른 작업을 해결할 수있는 대답은 없습니다. 1

  2. 각 개별 작업에 대해 표준 규칙이 적용됩니다.

    특히, 일반적인 I / O 기본값으로 프로그램이나 기능을 제출할 수 있지만 이러한 허점 을 이용할 수는 없습니다 .

    작업 5는 본질적으로 문제이므로 출력 하드 코딩은 허용 될뿐만 아니라 예상됩니다.

  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

가장 높은 점수를 얻은 답이 이깁니다.

작업 별 리더 보드

<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은 4 가지 언어입니다.

2 언어 Lx 바이트 로 사용하여 작업 n 을 해결하면 다른 사람이 동일한 바이트 수로 동일한 언어로 동일한 작업을 해결하면 언어 M로 변경하고 편집을 롤백하면 다른 응답자가 보너스 포인트를 유지합니다.

3 점수 규칙 1, 2 및 3 (순서대로)에서 획득 한 점수의 수, 모든 해결 된 작업의 결합 된 바이트 수 (낮을수록 좋음), 마지막으로 투표 집계 (높을수록 좋음)는 순위 결정자 역할을합니다.


6
명확히하기 위해이 과제는 10 개 이상의 언어를 아는 사람들로 제한됩니까? 나는 친구를 요구하고있다…
vijrox

2
@VijayRamamurthy : 참여하기 위해 모든 과제를 해결하지 않아도되므로 하나의 과제 만 해결하면 한 가지 언어 만 알아야합니다.
Alex A.

2
@JoeZ .: 여기에는 9 홀 문제가 있었지만 바이트 수를 합쳐서 점수를 매겼습니다. 내 점수가 어떤 방식으로 decathlons의 점수와 관련이 있는지는 아니지만, 이것이 다른 유형의 도전임을 분명히하고 싶었습니다.
Dennis

4
@lolesque : 그것은 표준 코드 골프 도전이 될 것입니다. 여기서 요점은 각 작업마다 다른 언어를 사용하는 것입니다.
Dennis

3
@NotthatCharles : 나는 Gregory에게 물었고 1 월 1 일 말했다.
데니스

답변:


5

작업 1, GolfScript, 8 바이트

~,{+}*.*

Martin의 CJam 답변 과 같은 아이디어 입니다.


작업 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 대부분의 프로그램 aa2 <= i< 마다 mod 를 취하고 a결과를 곱하여 주어진 숫자 가 소수 인지 테스트합니다 . r숫자가 소수가 아닌 경우 결과는 0이고 그렇지 않으면 0이 아닙니다. 마지막 행은 AND2의 정수 나누기를 비트 단위 로 사용 하여 이진 표현 a이 모두 1인지, 즉 a2 n -1 형식 인지 확인합니다 . 이에 의해 곱하면 r숫자는 메르 센 소수 그렇지 않으면 0이 아닌 (truthy) 값이 아닌 경우 0 (false)를 제공합니다. ?에 대한 바로 가기입니다 PRINT.

내가 테스트 한 가장 큰 메르 센 총리 인 8191 1.#INF은 여전히 ​​진실한 결과를 보여줍니다 ! (나는 IF진술을 확인했다.)

1 이것은 프로그램의 의미를 변경하지 않습니다. 위의 코드를 표준 DOS QBasic에 입력하면 추가 공백으로 자동 서식이 지정되지만 정확히 동일하게 실행됩니다.


작업 3, Pyth, 6 바이트

ehc2SQ

stdin에서 Python 스타일 목록을 읽습니다. 여기서 주요 마술은 c홉 연산자입니다. int와 목록이 주어지면 목록을 n 조각으로 나눕니다. 그래서 c2SQ반으로 분류 입력 목록 갈비. 편리하게도 길이가 홀수 일 때는 전반이 큰 편이므로 중앙값은 항상 전반부의 마지막 요소입니다. 이것은 절단 결과 의 두 e번째 부분입니다 h.


작업 4, CJam, 26 바이트

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

이것은 단축 될 수 있다고 생각합니다.

연산:

  • 정수를 읽습니다.
  • 값이 0이 아닌 동안 수행 :
    • 복근을 취하십시오 (i % 2). 다음 자리입니다 (음수?).
    • i를 -2로 나눕니다.
    • 양수가 아닌 경우 결과에 abs (i % 2)를 추가합니다. 이것은 코너 경우를 수정하는 것입니다. 3은 -1로 이동하지만 -3은 1이 아닌 2로 이동해야합니다.
  • 불필요한 0을 버리고 스택을 배열로 모으고 뒤집어서 인쇄하십시오.

그것이 do-while 루프라는 사실은 0 경우를 처리합니다.


작업 5, 배시, 50 바이트

echo pneumonoultramicroscopicsilicovolcanoconiosis

설명 할 것이 많지 않습니다.


작업 6, Python, 78 바이트

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

파이썬 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 3이 필요합니다. chr버전 3 대신 사용되지 않는 함수를 사용하기 때문에 코드 골프에 훨씬 좋습니다 String.fromCharCode.

출력은 콘솔 창에 있습니다 :

작업 7 스크린 샷


작업 8, 핍, 9 19 바이트

정규식 솔루션은 제대로 작동하지 않으므로 대신 문자열 작업이 있습니다.

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

Pip 용 Github 리포지토리 .

두 문자열을 명령 행 인수로 사용합니다. 경우 a서브 시퀀스이고, 양의 정수 (truthy)를 출력한다; 그렇지 않으면 결과는 nil (거짓)이며 출력이 없습니다.

설명:

                     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, 프롤로그 (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 를 정의합니다 . 의 정의 는 삼중 분리입니다.LNRm

  • 하면 L할 수 있습니다 통합 과 함께 [H|T], 그것은 적어도 하나 개의 항목을 가지고있는 목록입니다. m해당 목록의 머리와 꼬리를 재귀 적으로 호출 하고로 통합 된 새 목록에 결과를 다시 정리하십시오 R.
  • 경우 L에 통합 할 수 있습니다 [], 통합 R으로 []뿐만 아니라.
  • 그렇지 않으면 L숫자로 간주됩니다. L*N계산되어에 할당됩니다 R.

swiplUbuntu 에서 사용 하는 예제 실행 :

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);}

gcc우분투에서 테스트했습니다 . t정수 인수를 취하는 함수 를 정의합니다 . for매크로 남용을 통해 크게 압축 된 3 개의 루프를 사용 하여 출력합니다. 백 스페이스 문자를 사용하여 후행을 지우 ~면 다소 이상한 공백 패턴이 생깁니다.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는의 하위 시퀀스로 식별 됩니다 abc.
Dennis

@Dennis 즉 이다 불행한. (그러나 좋은 캐치 덕분입니다.) 10 바이트의 비용으로 수정되었습니다.
DLosc

17

Huzzah, 먼저 모든 작업을 완료하십시오! \영형/

작업 1, Perl, 32 바이트

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

-p플래그의 경우 +1 바이트 해설 : Perl은 이상하다 .


작업 2, CJam, 14 바이트

{_mp\)2mL_i=&}

내 첫 CJam 프로그램!


작업 3, GolfScript, 8 바이트

~$.,(2/=

평가 STDIN 입력, 정렬, 길이, 감소, 2로 나눈 다음 정렬 된 배열의 항목을 해당 인덱스에서 가져옵니다.


작업 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

24 바이트 (!)를 줄인 @ mbomb007 및 다른 11 인 경우 @ Sp3000에게 감사합니다.


작업 5, 자바, 66 바이트

String f(){return"pneumonoultramicroscopicsilicovolcanoconiosis";}

지루한. 나중에 골퍼 언어를위한 공간을 절약하기 위해 자세한 언어를 사용했습니다.


작업 6, 배시, 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 . 배열을 검사하고 정규식으로 대체하여 숫자를 곱한 버전으로 변경 한 다음 결과 문자열을 다시 바꿉니다.


작업 10, 루비, 58 바이트

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

"\n"보다 긴 "{actual newline}"한 문자 $/입니다. 보다 긴 한 문자 입니다. 다양한 마술을 사용하여 {불확실하지만 많은 수의} 바이트를 제거해 주신 @ MartinBüttner에게 감사드립니다.


작업 6 – $(…)`…`.
manatwork

@manatwork 감사합니다. 편집했습니다.
Doorknob

다시 생각하면 (카페인 흡수가 진행 중…) 왜 긴 % D 형식입니까? [ `date +%j` = 001 ]또는 심지어 ((`date +%j`<2)). ( date“% j day of year (001..366)”형식을 확실히 지원하는 GNU 가정 )
manatwork

@manatwork 아, 아주 좋아요. 다시 한 번 감사드립니다.
Doorknob

((num + 0xAAAAAAAA) ^ 0xAAAAAAAA) alg를 사용하여 작업 4를 단축 할 수 있습니다.
Jacob

15

작업 1, 3var, 14 13 바이트

'><k*>#aa/>sp

( 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은 단일 문자 (감소, 곱셈 및 제곱)이지만 B2 로 설정 하려면 3 바이트가 필요합니다 (재설정 증가).


작업 2, 레티 나, 38 33 바이트

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

( Retina 용 Github 저장소 )

각 줄은 별도의 파일로 이동하지만 -s플래그를 사용하여 위의 내용을 테스트 할 수 있습니다 ( <empty>아무것도 바꾸지 않음). 입력은 1과 같이 단항이어야합니다 (예 : 11111117).

각 정규식 대체 (한 쌍의 행으로 지정)가 수행하는 작업은 다음과 같습니다.

  1. 앞면에 여분의 1을 붙입니다.
  2. 형태의 무엇이든 교체 2, 1 + composite또는 not power of 2아무것도를.

이것은 1Mersenne 프라임에 여분 을 더하는 반면, 다른 모든 숫자는 제거됩니다.


작업 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 위키 페이지 )

위는 28 바이트이며, 필요 -v에 파이썬 인터프리터에서 플래그 다른 3 바이트 , 예를 들어 같은 실행을

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

> <>의 좋은 점은 모듈로와 나누기를 통해 하나씩 숫자를 계산할 수 있다는 것입니다.


작업 5, 괄호, 1448 1386 바이트

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

( 괄호를위한 Github 저장소 )

문자열 자체보다 짧은 CJam 답변이 있지만 사용할 수 없으므로 다른 방법으로 갈 것이라고 생각했습니다.

파이썬 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))

해당 Lisp 유사 코드는 다음과 같습니다.

(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, Prelude, 46 41 바이트

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

( Prelude의 Esolang 위키 페이지 )

이것이 효과가 있다고 생각합니다. 아마도 골프는 가능하지만 Prelude에서 사소한 골프를하는 것은 처음입니다. 입력 형식이며 <needle>NUL<haystack>, 여기서 NUL이다 0x00. 이것은 가장 잘 작동 NUMERIC_OUTPUT = True그게 출력 할 것이기 때문에, 파이썬 인터프리터에서 1또는 0적절.

이 작업에 매우 유용한 두 가지 속성이 있기 때문에 Prelude를 선택했습니다.

  • 스택 기반이므로 먼저 바늘을 읽은 다음 한 번에 한 문자 씩 건초 더미를 처리하고
  • Prelude의 스택은 맨 아래에 0이 무한하므로 바늘이 부족한 경우를 처리 할 필요가 없습니다.

Prelude에 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

(@ MartinBüttner 덕분에 5 바이트)


작업 9, 수학, 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 위키 페이지 Rail )

Rail에서 기차 관련 작업을 수행 할 수있는 기회를 놓치지 못했습니다.

입력은 STDIN을 통한 정수이지만 EOF가 필요합니다. 왼쪽 상단

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

EOF가 아닌 입력을 정수로 변환하는 atoi 루프입니다 ( e명령으로 확인 ).

f마지막 세 줄 의 함수는 을 사용하여 x, y, n문자열 x n시간을로 구분하여 출력합니다 y. 이 함수는 재귀 적이며 n0이 될 때까지 매번 하나씩 감소합니다. f각 행마다 다른 문자열을 제공하여 세 번 호출됩니다. 이상하게도 Rail은 변수 이름을 비워 몇 바이트를 절약 할 수 있습니다.

바이트의 대부분은 불행하게도에서 온 (!x!)스택의 상단 팝 변수에 할당하는 x, 그리고 (x)밀어하는 x스택에. Rail에는 중복 연산자가 없으므로 (!x!)(x)(x)스택 상단을 복사 할 수있는 유일한 방법입니다.


작업 2가 rs에 있으면 2 바이트를 절약 할 수 있고 단항 대신 숫자를 가져 오는 데 14 바이트 밖에 들지 않습니다. ;)
kirbyfan64sos 2016 년

라켓을 보았을 때 괄호를 좋아한다고 생각했습니다. 하지만 괄호 ...
bunyaCloven

13

작업 1, CJam, 7 바이트

q~,:+_*

난 그냥이에 대한 (아마도) 최적의 CJam 솔루션을 얻고 싶었다. 그것은 최초의 합계는 사실을 이용합니다 n 개의 큐브가의 제곱입니다 n 번째 자체 최초의 합이다 삼각형의 수, n 개의 정수를.

여기에서 테스트하십시오.


작업 4, 핵분열, 173 88 78 69 68 바이트

핵분열을위한 GitHub 리포지토리.

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

두 번째 합리적으로 복잡한 핵분열 프로그램. :)

입력 형식이 약간 이상합니다. 음수 입력을 지원하기 위해 첫 번째 문자는 부호 +이거나 -부호를 나타내는 것으로 예상됩니다 . 두 번째 문자의 바이트 값은 입력의 크기입니다 (Fission은 기본적으로 십진 정수를 읽을 수 없으므로). 원하는 경우 STDIN에 111전달하십시오 +o. 그리고 당신이 원한다면 -56그것을 전달하십시오 -8. 대신에 +그리고 -당신은 각각 낮거나 높은 문자 코드로 모든 문자를 사용할 수 있습니다. 예를 들어, (논쟁으로 취급 -necho수 있는) 전달하는 것이 도움이 될 수 있습니다 0n.

양수의 음수 표현을 찾는 방법을 살펴 보겠습니다. 우리는 가장 작은 비트부터 가장 중요한 비트까지 숫자를 계산하려고합니다 (이 비트를 스택에 넣고 끝에서 모두 인쇄하여 올바른 순서로 가져옵니다). 첫 번째 숫자는 숫자의 패리티 일 뿐이며 숫자를 2로 정수로 나누어 처리를 계속합니다. 다음 숫자는 이제 음수 (값 -2)입니다. 그러나이 비트는 2 비트가 일반 이진수로 설정 될 때마다 설정됩니다. 유일한 차이점은 양수 값이 높은 숫자로 -2를 카운터해야한다는 것입니다. 우리가하는 일은 이것입니다 :

  • 우리는 다시 패리티를 결정합니다-이것은 다음 부정입니다-이전과 같이 2로 나눕니다.
  • 그 자리에 있었다면 1, 우리는하기 위해 1로 나머지 수를 증가 카운터 법 (인 negabit과 조금 차이 네거티브 비트 하면 다음 더 - 최상위 비트의 값).

조건부 여기에 하나를 추가하는 단계의 수를 라운딩하는 것과 것을 알아 차리고에서 코드 결과 큰 단순화 최대 정수 분할은 (폐기 된 비트가 1 인 경우, 우리는 (1)에 의해 정수 분할 결과를 증가시킬 때).

그런 다음 다음 비트는 다시 양의 값이므로 정상적으로 결정할 수 있습니다. 즉, 한 번에 두 비트를 계산하여 나머지 수에 대해 반올림과 반올림을 번갈아 반복하는 루프를 원하지만 중간에 루프를 입력하여 반올림으로 시작합니다.

음수를 어떻게 처리 할 수 ​​있습니까? 문제는 질량이 항상 음이 아니기 때문에 Fission이 음의 정수에 대해 임의의 산술을 실제로 수행 할 수 없다는 것입니다. 따라서 규모를 다루고 다른 곳의 부호를 추적하는 것과 같이 실제로 복잡한 작업을 수행해야 할 것입니다. 그러나 음수의 음수 표시는 관련 양수를 기반으로 계산할 수 있습니다.

경우 n은 음수의 표현 negabinary 계산 N / 2 (반올림 최대 ) 및 추가의 패리티 N을 .

이것은 정확히 2 비트 루프의 첫 번째 단계입니다. 따라서 부호가 음수이면 루프를 다른 지점에서 시작하기 만하면됩니다.

173 개의 원래 바이트에서 절약 된 대부분은 이러한 통찰력에서 비롯된 것으로, 3 개의 패리티 검사와 2 개의 섹션 루프를 단일 패리티 검사가있는 단일 루프로 압축 할 수있었습니다.

이 코드는 모든 코드를 자세히 설명하면 너무 길어 지지만 제어 흐름의 대략적인 레이아웃을 제공하는 몇 가지 섹션을 지적하고 Fission 참조를 사용하여 세부 정보를 알아낼 수 있습니다.

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

에서 시작 D하여 에너지로 부호 비트를 읽고 [(오른쪽으로) 원자의 질량으로 크기를 읽습니다 . 이 부호 비트는 패리티 검사를 통과 할 때마다 번갈아 반복되며 루프 입력의 반올림 또는 반올림을 유지할지 결정합니다.

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

이것은 개별 비트를 계산하고 올바른 반복을 다음 반복에 공급하는 루프입니다. S과는 J현재의 부호 비트를 기반으로 오른쪽 절반의 복사본을 만드는 데 사용되는의 X의는 복사 할. >오른쪽 상단은 스택에 전송되는 실제의 비트 연산 K나중에 검색한다. 나는 오른쪽 상단 모서리의 레이아웃이 꽤 깔끔하고 분열에 관심이 있다면 자세히 공부할 가치가 있다고 생각합니다.

%오랫동안이 0보다 큰이기로 다시 루프로 수를 공급하는 스위치입니다.

    O


 M~\
 K/W%

 \{\/
0'A Y

숫자가 0에 도달하면 대신 반영됩니다. 이렇게하면 스택에서 비트를 검색하고 문자 코드에 비트를 추가하고로 0인쇄하는 다른 루프가 시작됩니다 O. 제어 원자가 스택에서 밀려 나고 (이후에는 더 이상 움직이는 원자가 남지 않기 때문에) 스택이 비면 프로그램이 종료됩니다.


작업 5, 서곡, (219) 179 96 바이트

Prelude에 대한 Esolangs 페이지.

Prelude 용 스택 스 니펫 인터프리터.

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

이것은 세 가지 음성을 가진 표준 수제 고정 출력 Prelude 프로그램으로 시작되었습니다. Sp3000과 대화 한 후 단일 음성을 사용하기로 결정했습니다. 오래된 편지를 재사용하는 것이 훨씬 쉽기 때문에 이것이 잘 작동하는 것으로 나타났습니다. 그런 다음 Dennis는 몇 가지 힌트를 주었고 현재 버전을 찾았습니다. 문자의 모든 오프셋을 h역순으로 단일 음성 스택에 푸시 한 다음 한 번에 하나씩 루프로 인쇄하는 것이 좋습니다. 문자열에 h없기 때문에 h(이는 중요합니다. 그렇지 않으면 0오프셋이 루프를 종료 함) 오프셋의 인코딩을 2 자리 및 음의 오프셋으로 최소화하기 때문에 선택됩니다.

이 CJam 스크립트를 사용하여 오프셋 인코딩이 생성되었습니다 .


작업 8, 수학, 28 바이트

LongestCommonSequence@##==#&

예, 내장되어 있습니다. (Mathematica의 이름 지정은 여기에서 조금 이상합니다 ... LongestCommonSubsequence가장 긴 공통 부분 문자열LongestCommonSequence찾고 가장 긴 공통 부분 시퀀스 를 찾습니다 .)


작업 9, J, 1 바이트

*

APL 및 K 답변과 동일하지만 아직 아무도 J를 복용하지 않은 것 같습니다.


작업 10, 레티 나, 67 60 바이트

Retina 용 GitHub 리포지토리.

(.*).
 ______  $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)의 세 사본을 작성하는 것입니다. 그런 다음 1모든 1s가 사라질 때까지 마지막 9자를 a 앞에 반복하여 필요한만큼 줄을 반복합니다. 마지막으로, 불필요한 후행을 제거합니다 ~.


10

어, 나는 내가 생각하는 커플로 시작합니다. 처음 골프.

작업 1, Python, 38 21 바이트

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

모든 큐브의 목록을 최대 x까지 합산하십시오. xnor 덕분에 표현 변경

작업 2, TI 기본 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은 내장이며 ipart는 정수 부분입니다 (2.3-> 2).

작업 3, 펄, 45 34 바이트

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

perl file 1 2 3 4-> 2. @nutki 덕분에 몇 바이트를 절약했습니다. 변수에 저장 한 다음 변수를 인쇄하지 않고 인쇄합니다.

작업 4, 루비, 43 40 바이트

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

적어도 1.9에서 작동하며 1.8을 모릅니다. 이진수로 '10'* 16 (또는 2863311530)에 숫자를 더한 10101010을 가진 x는 음수입니다. 따옴표 (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, bash, 62 50 40 바이트

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

다른 게시물에서 % j에 대해 알아 냈습니다.

작업 10, Befunge-98, 121 바이트

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

befunge-98로 변경되었습니다. 이전은 Befunge-93, 227 157 147 바이트였습니다. 테스트를 위해 Haskell작성된 Fungi를 사용했습니다 . "do multiple times k"를 사용하고 '를 사용하여 스택에 단일 문자를 추가합니다. 나는 110 이하로 골프를 칠 수 있다고 생각하지만 이미 이것에 너무 많은 시간을 보냈습니다 ...


@Dennis 메인 포스트를 요청할 수 없으므로 여기에서 물어볼 것입니다. 작업 3에 공백으로 구분 된 입력이 가능합니까? []에 없습니다.
Jacob

귀하의 필요에 맞는 것.
Dennis

1
당신은 큐브의 합을 단축 할 수 공식 으로lambda n:(n*n-n)**2/4
XNOR

0=fPart(expression) rather than TI-89 기본 답변에서 iPart (expression) = expression을 사용할 수 있습니다 .
lirtosiast

1
파이썬 2/3와 같은 것에 대해 이야기 할 때 논쟁이 잘되지 않는다고 생각합니다. 나는 더 많은 답변을 비 펀지 골프에 더 관심이있어, 예를 들어,`n`은 2 STR (N)보다 더 나은 작동하지만 그 순간에 다른 예를 생각할 수 없다 (3)에서 작동하지 않습니다 : P는
Jacob

9

첫 번째 : 작업 6은 기술적으로 중요하지 않습니다 . 한 시간 전에 unc 를 업로드했습니다 . 그러나 오늘 아침에 거의 업로드했지만 테스트 스위트를 먼저 작성하기로 결정했습니다. 백치.

어쨌든 여기 간다!

대부분의 unc되지 않은 것은 의도적으로 거꾸로되어 있으므로 &&실제로는 의미 ||가 있습니다. 따라서 일부 연산이 이상하게 보입니다 (예 : -큐브 계산에 사용 ).

작업 1, 하스켈, 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, 다트, 37 바이트

나의 첫번째 다트 기능!

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

작업 5, INTERCAL, 1047 바이트

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 Oops! 결정된!
kirbyfan64sos

1
글쎄, 나는 unc를 모른다. 그러나 나는 당신이 !includes 중 하나가 필요하지 않다고 확신한다 . 어느 쪽인지는 확실하지 않습니다.
Dennis

@Dennis 첫 번째 포함은 stdio.h두 번째입니다 time.h. 둘 다 필요합니다.
kirbyfan64sos 2016 년

uncC 코드를 컴파일하는 데 무엇을 사용합니까? GCC는 없이도 잘 작동합니다 stdio.h. 확실하지 않습니다 time.h.
Dennis

@Dennis unc에는 세트 컴파일러가 없습니다. C 코드 만 출력합니다. 직접 컴파일해야합니다. 그러나 그 않는 의미가; 나중에 확인하겠습니다.
kirbyfan64sos 2016 년

8

작업 1, APL, 7 바이트

+/3*⍨⍳⎕

ngn / apl을 사용하여 온라인으로 시도 할 수 있지만 기본적으로 인덱스 원점이 0 인 APL 구현에서는 작동합니다.

이 함수는 인수를 거듭 제곱 연산자 ( ) ⍳⎕로 정류 ( )하여 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-1kn


작업 3, ELI , 19 바이트

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

f입력 벡터의 중앙값을 반환 하는 모나드 를 만듭니다 .

언 골프 + 설명 :

{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))

이것은 정수를 입력으로 받아들이고 연관된 음수 문자열을 리턴하는 함수 핸들을 작성합니다. 호출하려면 예를 들어 이름을 지정 f=@...하고로 실행하십시오 feval(f, <input>).

당신은 할 수 있습니다 온라인으로보십시오 .


작업 5, CJam, 47 바이트

"pneumonoultramicroscopicsilicovolcanoconiosis"

문자열은 단순히 STDOUT에 인쇄됩니다. 당신은 할 수 있습니다 온라인으로 시도 당신이 그렇게 경사 느끼면.


작업 6, Windows 배치, 46 바이트

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

변수 %date%는 현재 날짜를 형식으로 포함합니다 Thu 06/25/2015. 처음 4자를 건너 뛴 후 길이가 5 인 부분 문자열을 가져 와서 월과 일을 선택할 수 있습니다 %date:~4,5%. 거기에서 우리는 1 월 1 일인지 확인하고 새해 복 많이 받으세요라고 말합니다.


작업 7, Pyth, 26 바이트

=Gr13312 19895FNU64pC.(.SG

먼저 G13312에서 19894까지의 범위에 할당 합니다. 그런 다음 64 번 반복하고 반복 할 때마다 셔플 G( .SG)하고 마지막 요소 ( .()를 제거하고 반환 하고 문자 표현 ( pC)을 인쇄합니다 .

당신은 할 수 있습니다 온라인으로보십시오 .


작업 8, 루비, 36 바이트

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

이것은 f두 개의 문자열을 받는 함수 를 정의 a하며 b, 어디 a에서 찾을 문자열 b입니다.

문자를 제외한 모든 문자는 사용 a에서 제거되며 결과에 정확히 using이 포함되어 있는지 확인합니다 . 문자열을 찾지 못하면 반환 하므로 with 를 사용하여 부울 값을 얻을 수 있습니다 .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)

꽤 직설적 인. 당신은 할 수 있습니다 온라인으로보십시오 .


더 높은 범위에 3 개의 유니 코드 문자가 있기 때문에 APL 답변은 7 바이트가 아닙니다.
Tom

6
@Tom : 모든 답변은 가장 편리한 인코딩을 선택할 수 있습니다. 에서 APL 코드 페이지 , 한 문자는 1 바이트.
Dennis

당신이 너무 기울어 졌다면 온라인으로 시도해 볼 수 있습니다 :-D
Luis Mendo

7

작업 1,> <>, 10 + 3 = 13 바이트

::*-:*4,n;

플래그 를 사용하여 공식 파이썬 인터프리터를 사용하여 이것을 실행하십시오 -v(3 바이트 비용). 이 사각형 수량 (n - n*n)과 의해 분할 4과정의 제곱에 해당하는 (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

여기에 이미지 설명을 입력하십시오

코덱 크기가 13 인 이 온라인 통역사를 사용하여 테스트 하거나 선호하는 통역사를 사용하십시오. 원하시는 통역사를 알려주세요!

0입력 0을 위해 빈 문자열 대신 출력 하는 것이 불편했습니다. 나는이 사건을 처리하기 위해 처음부터 if-then을 사용했다. 그런 다음 while 루프는 0이 아닌 경우 자릿수를 계산하고 마지막으로 스택의 숫자를 출력하는 마지막에 다른 while 루프입니다.

도움이되는 의견에 대해 Sp3000에 감사드립니다.

작업 5, 루아, 52 바이트

print"pneumonoultramicroscopicsilicovolcanoconiosis"

여기서 시도해 볼 수 있습니다 .

작업 6 라텍스, 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문을. n번째 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]미정이지만, 자바 스크립트는 OK로한다.) 그렇지 않으면, 첫 번째 인스턴스를 검색 l[0]에서 m. 이 하나를 찾을 수없는 경우, m.indexOf(l[0])결과 -1u을 초래 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 바이트를 절약 해 준 Dennis에게 감사합니다!

작업 10, Groovy, 81 바이트

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

여기에서 시도 하십시오 . 원래 .join()문자열에 대한 Python의 메소드 와 같은 것을 구현하려고 시도했습니다. 문자열은 특정 "연결 문자열"과 함께 (열차 사이의 연결과 같이) 연결됩니다. 그러나 그 비용은 절약 된 것보다 훨씬 비쌉니다.

이 다양한 언어로 수용 가능한 답변에 대한 협약을 어 기지 않았 으면 좋겠습니다.

환상적인 도전을 위해 Dennis에게 감사합니다!


except:return n*a작업 9의 경우 몇 바이트를 절약합니다. 작업 1의 경우 -v플래그를 1 바이트로 계산합니다 .
데니스

@Dennis 이 메타 포스트를보십시오 . 에 의해,하지만 이 메타 후 , 당신은 아마 대체 할 수있는 -v플래그를 i(내가 두 버전 모두 쉽게 테스트를 위해, 언급 된 경우가 좋은 것이라고 생각하지만).
Sp3000

@Dennis, 스마트 개선에 대단히 감사합니다!
mathmandan

1
위의 메타 포스트 (공백 -,, v)에 의해 3 바이트가 정확합니다 . 방금 i명령을 통해 코드 포인트로 입력을받을 수있는 옵션이 있음을 의미했습니다 .
Sp3000

1
btw, # 4의 경우 음의 모듈로가 그렇게 이상하지는 않습니다. 언어마다 다릅니다 (예 : Java가 메모리에서 수행). 전체 스택을 출력하는 한 가지 방법은 출력에없는 것으로 알고있는 스택의 맨 아래에 무언가를 유지하고 특수 문자가 아닌 동안 인쇄 문자를 유지하는 것입니다. 또한 PietCreator가 있습니다.
Sp3000

6

작업 1, Pyth, 5 바이트

s^R3Q

stdin에서 숫자를 가져옵니다. 쓸모없는 것을 지적 해 주셔서 감사합니다 U.

작업 6, 자바 스크립트, 56 바이트

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

작업 7, CJam, 16 바이트

6581,mr64<'㐀f+

범위를 생성하고 셔플하고 처음 64 개를 선택하고 시작 값 추가 및 문자로 변환을 매핑합니다. 14 자, 16 바이트

작업 8, 옥타브, 23 바이트

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

익명 기능을 정의합니다.

작업 5, PHP, 45 바이트

pneumonoultramicroscopicsilicovolcanoconiosis

압축하지 않고 인쇄 만합니다.

작업 9, APL 1 바이트

 ×

K 답변과 동일합니다.


@Dennis 나도 몰라-방금봤을 때 테스트하지 않고이 답변을 모았습니다. :). 이제 에뮬레이터에서 테스트하려고합니다.
Maltysen

@ 데니스 오 당신이 맞아, 그것은 평균 2를 내려, 평균을 내려.
Maltysen

1
그 공간에서 무엇을하고 .slice(4, 10)있습니까?
LegionMammal978

@Dennis derrrp. 죄송합니다.
Maltysen

1
"an"으로 끝나는 한 달 약어 만 있으므로 테스트 할 때 J를 생략 할 수 있습니다. (또한 훨씬 짧습니다 /an 01/.test(Date()).)
NinjaBearMonkey 2016 년

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 소수 검사기 정규식)

작업 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!","")

3 바이트에 대한 @Bond 덕분입니다.

작업 7, Python 2.6, 98 93 85 바이트

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

이것은 내가 파이썬에서 무엇인가를 시도한 첫 번째이므로 훨씬 나을 수 있습니다. 훌륭한 팁을 주신 @Dennis와 @Jacob에게 감사합니다.

작업 8, TCL, 57 바이트

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

공백을 제거하면이 죽는 수치

작업 9, 파이크, 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 기능. 나는 그것을 조금 단축 할 수 있다고 생각하지만, 여기에 있습니다.

그리고 마지막으로 :)


작업 6에서 4 바이트를 절약 할 수 있습니다 =IF(TEXT(NOW(),"md")="11","Happy New Year!","").
Bond

@Bond 감사합니다
MickyT 2016 년

나는 파이썬도 모르지만 l[:63]작동해야 (13312,19894)하며 16 진수 상수 (및 합계)보다 짧습니다.
Dennis

@Dennis Thanks는 그것을 시도하고 변경합니다
MickyT

나는 높은 값으로 19893을 집어 @Dennis 때문에 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 2016 년

2
작업 8에 대한 코드가 작동하지 않습니다 abc caxbxc.
jimmy23013

4

작업 1, 루비, 40 바이트

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

루비로 처음 쓰는 것. 루비 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, 루아, 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

(즉, 대체 나는 당신의 줄리아 작업 (10)에 대해 86 바이트 현재 계산하지만 당신은 람다 함수를 사용하여 81 그것을 얻을 수 f(n)=n->) 변화하는 1:(9*n-1)단지에 1:9n-1.
Alex A.

오른쪽 \n으로 습관적으로 1 바이트로 계산 했습니다.
plannapus

대신에 ( 부분에 대해서도) (" "*"_"^6*" ")^n사용할 수 있습니다 . 70 바이트 : . (막대 사이의 공백은 여기에 표시되지 않습니다)" ______ "^n| |n->print(" ______ "^n*"\n"*"| | "^n*"\n"*(" ()--() ~"^n)[1:9n-1])
Alex A.

3

작업 1, 하스켈, 17 바이트

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

작업 2, 수학, 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과 관련하여 이에 대한 규칙이 있습니까?
Saran

좋아, 이제 모두 고쳐 졌어.
Saran

1의 경우 아마도 할 수 (x*x-x)^2/4있습니까?
xnor

짜증나게도 JavaScript의 기본 정렬 함수는 비교할 때 숫자를 문자열로 변환하므로 모든 숫자의 첫 번째 숫자 만 비교합니다. 따라서 [2,3,10]에서 실패합니다.
NinjaBearMonkey 2016 년

1
7에서는 실제로 if c not in s:s+=c한 줄 에 모두 넣고 몇 문자를 절약 할 수 있습니다. 또한 한 문자보다 짧은 (및 0x4db5의 경우와 유사) 0x3400로 대체 할 수 있습니다 13312. 마지막으로 문자 수는 변경되지 않지만 탭 들여 쓰기가 마음에 들지 않으면 단일 공백으로 들여 쓰기 할 수 있습니다.
mathmandan

3

작업 1, 하스켈, 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, 수학, 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%

나는 내장 된 부정이있는 esolang이 있는지 알아 내기 위해 Pip, Ostrich, Clip 및 Burlesque를 시도했습니다. 그들 중 누구도 일하지 않았습니다. KSFTgolf가을 사용 numpy했는데, 밑이 음수 일 때 약간 이상한 동작이있는 것 같습니다. 그러나 양수가 아닌 숫자로 작동하는 것은 쉽지 않습니다.

작업 7, CJam, 15 바이트

'䶶,DAm<>mr64<

작업 8, APL, 21 바이트

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

온라인으로 사용해보십시오.


Lol @ "내가하는 일을 잘 모르겠다"
Alex 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 컴파일러는 경고를 생성 하지 않으면 서 더 골프를 칠 수 있음을 경고합니다.
Comintern

경고를 무시 - 그리고, 어, 기분이 무료 도, 당신이 원하는만큼 많은 메모리를 누출. :-)
Toby Speight 2016 년

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, jq, 24 바이트

[range(1;.)|.*.*.]|add+0

작업 6, PostgreSQL, 54 바이트

select'Happy New Year!'where'001'=to_char(now(),'DDD')

2

작업 1, Cjam, 7 바이트

q~,:+_*

편집 : 방금 마틴이 나보다 먼저 이것을 게시했습니다. 나는 다른 것을 시도 할 것이다 ...

작업 3, Python, 30 바이트

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

파이썬 2.

작업 5, ///, 45 바이트

pneumonoultramicroscopicsilicovolcanoconiosis

//// 문자 없이 무언가를 반향 합니다.

작업 7, Pyth, 19 바이트

s>64.SmC+13312d6582

프로그램. 내가 수학을 망쳤다면 말해줘. 여기 사용해보십시오

작업 9, 옥타브, 9 바이트

@(a,n)a*n

익명 함수 핸들 옥타브는 자동으로 행렬 * 스칼라로이를 수행합니다.


작업 7의 경우 고유해야합니다.
Maltysen

예, pyth는 섞습니다 . 대신 um을 .S사용할 수 있습니다 . sjk
Maltysen

2

나는 그들 모두를 시도 할 시간을 찾지 못했지만 여기에 시작이 있습니다.

작업 1, dc, 8 바이트

d1+*d*4/

dc규칙에 따라 스택 상단으로 입력 및 출력 .

작업 5, 이맥스 리스프, 46 바이트

'pneumonoultramicroscopicsilicovolcanoconiosis

규칙의 남용 :

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

압축 형식에서 압축을 풀고 관리 할 수있는 최선의 방법은 Perl에서 55였습니다.

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');

1 월 첫 10 일은이 인사말에 '적절한'날이라고 생각하지만 취향에 따라 조정할 수 있습니다. 이 now() LIKE구문은으로 추출하는 것보다 짧습니다 DATE_FORMAT(now(),'%j').

작업 10, sed, 58 바이트

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

단항으로 입력하십시오.


strstr하위 문자열이 아닌 하위 문자열에 대한 틈새. 나는 작업 5가 kolmogorov- 복잡함을 두려워하므로 사전에서 단어를 가져 오는 것이 영리 할 수는 있지만 허용되지 않습니다.
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에서 온라인으로 사용해 볼 수 있습니다 .

현재 개발이 중지되었으며 구현이 완료되지 않았습니다.

최신 커밋은 2015 년 3 월 13 일에 이루어졌습니다.

작업 6, PHP, 37 바이트

이건 정말 쉽고 재미 있어요!

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

작업 10, 자바 스크립트, 121 byes

그래, 골프는 아니 었어 ...

그러나 그것은 일을한다!

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

시도 해봐:

코드는 "출력에서 시작하여 스택 스 니펫에 제대로 표시되지 않습니다 . 이를 보완하기 위해 공간이 추가되었습니다.

원래 코드는 Chrome 콘솔에서 아무런 문제없이 실행될 수 있으며 출력이 예상됩니다.


@Dennis 감사합니다! 나는 과제 5를 잘못 읽었다. 나는 여전히 다른 과제를 어떻게 구현할 것인지를 찾고 있지만 시간이 나쁘다.
Ismael Miguel

1
확실 date(dM)합니까? 여기서는 "25Jun"을 반환합니다. “d”와“m”은 0을 너비 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, 자바 스크립트, 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, 골프 스크립트, 47 바이트

"pneumonoultramicroscopicsilicovolcanoconiosis"

작업 9, MATLAB, 9 바이트

@(A,n)A*n

글쎄, 시작이야 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.