//0q GxxJiiiiihhZUUUUUUUNYAxcccccbCLDLxyzUUUUUTxyzJCLOzUUUUUURzyzxyzxyzcccccbbCLGC//*/0e#'
/*
박망희 0#
;*/
//\u000A\u002F\u002A
n=>//\u002A\u002Fn->
/**/""+n==""+n?5/2>2?1:40-/**/n:n*n//AcaAcAAI(((1)(1)(1)1)((1)(((1)1)1)1)(((1)(1)1)(((1)((1)1)(1)1)1)(((1)(1)(1)(1)1)(((1)(1)((1))(1)1)((1)((1)1)(1)1)(((1)1)(1)(1)1)1)(((1)1)(1)1)(((1)1)1)1)1)1)
//[>[-]<[>+<-],]>>+<[->[>>+<<-]>[<+>-]>[<+>-]<<<]>>>>++++++[<++++++++>-]<<[>+<-]>+.wvWwwWWwwwwwwWwWWWw
//ip@
//
;/**/
//I01-* h
//
;/*""'"""'""""""""""'"""" "'""'"""""""'"""'""""'"'"""""""'"""'""""""'"""'""""""""""*/
폴리 글 로트 체인에서 Java 답변을 16 번째 답변으로 추가 할 수있는 날을 보지 못했다고 생각했습니다! :디
1. C #에서 시도 : a(n)=40−n
2. brainfuck에서 시도 : a(n)=1+n mod 2
3. Runic Enchantments에서 시도 : a(n)=4n
4. 시도 Jelly에서 : a(n)=nn
5. Gol> <>에서 시도 : a(n)=−n
6. JavaScript에서 시도 : a(n)=1
7. 괄호로 시도하십시오 : x n + y n = z n 에 정수가 아닌 솔루션이 있으면 a(n)=1 if xn+yn=zn has a nontrivial solution in integers, otherwise a(n)=0
8. 공백에서 시도하십시오 : a(n)=3
9 05AB1E에서 시도 : a(n)=0
10. 읽을 수없는 곳에서 시도 : a(n)=n
11. 잔디에서 시도 : a(n)=⌊n/10(⌊log10(n)⌋)⌋
12. 폭을보십시오 ( N을 ) = N + 1 과 N ≥ 2 13 AlphaBeta 그것을 시도 : ( N ) = 1 ‖ N 14. Aheui 그것을 시도 : ( n은 ) = 2 (15)은 해설자에보십시오. ( N은 ) = 2 , N을a(n)=n+1 with n≥2
a(n)=1∥n
a(n)=2
a(n)=2n+6
16. Java 8에서 사용해보십시오 : a(n)=n2
설명:
CGCC에서이 언어들에 대해 들어 본 적이 있지만 Java, C #, 05AB1E 및 Whitespace에 대해서만 숙련되어 있으며 코드의 JavaScript 부분을 읽을 수 있습니다. 다른 언어는 대부분 익숙하지 않기 때문에 Java가 C # / JavaScript와 상호 작용하도록 변경하기를 바랐지만 대부분의 다른 언어는 여전히 작동합니다.
해결해야 할 첫 번째 주요 사항은 Java n->
와 C # / JavaScript n=>
였습니다. Java는 코드의 일부로 유니 코드 값을 지원하므로 다음을 사용하십시오.
//\u000A\u002F\u002A
n=>//\u002A\u002Fn->
C # / JavaScript에서 다음과 같이 해석됩니다.
//\u000A\u002F\u002A
n=>//\u002A\u002Fn->
그러나 Java에서 이것은 다음과 같습니다.
//
/*
n=>//*/n->
때문이다 \u000A
, 라인 - 휴식이다 \u002F
입니다 /
및 \u002A
입니다 *
자바.
그런 다음 Java와 C # / JavaScript의 순서를 구별하기 위해 다음을 추가했습니다.
""+n==""+n?...:n*n
...
5/2>2?1:40-n
n*n
a(n)=n2
왜 이것이 작동합니까? Java 문자열에서 객체는 객체의 ==
참조가 동일한 위치를 가리키는 지 또는 프리미티브가 동일한 지 Object.equals(Object)
확인하는 데 사용되며 실제 는 이러한 객체의 값이 동일한 지 확인하는 데 사용됩니다. 그래서 ""+n==""+n
C # / 자바 스크립트에서 자바 falsey하지만 truthy 될 것입니다.
이 문제가 해결 된 후 (기존 줄 바꿈을 재사용하여 공백 프로그램을 중단하지 않음) 몇 가지 사항을 수정해야했습니다. Runic Enchantments, Jelly, Unreadable 및 Commentator 등 기존 프로그램 중 4 개가 실패했습니다.
읽을 수없는 수정은 쉬웠습니다. 우리 """"
는 첫 번째 앞에 4 를 추가 '
했으므로 단순히 '
어딘가에 더 일찍 배치하고 (첫 번째 줄의 끝에 배치했습니다) '""""
맨 아래에있는 코드의 읽을 수없는 부분에서 행간 을 제거하십시오 .
그은을주고 있었다 젤리를, 온 후 IndexError: pop from empty list
. 젤리에 능숙하지 않기 때문에 왜이 오류가 발생했는지 정확히 알지 못합니다. 마지막 줄이 젤리 프로그램의 메인 링크가 될 것임을 정확하게 기억한다면, 마지막 줄의 코드는 다른 링크를 사용하지 않기 때문에 다른 모든 것을 무시해야합니다. 그러나 어떻게 든 부분은 ""+n==""+n
여전히 문제가되었습니다. /**/
해당 줄 앞에 추가하여이 문제를 해결할 수있었습니다 .
룬 마법에 관해서는 더 이상 아무것도 출력하지 않았습니다. @ Draco18s 는 Runic Enchantments가 >
동시에 동시에 시작 되지만 >2?1:40-n/
and와 /ip@
관련이 있다고 나에게 지적했습니다 . 이는 룬 마법 부여 프로그램의 흐름을 이해하는 데 큰 도움이고, 나는를 추가하여 경로를 해결할 수 있었다 /**/
에서 >2?1:40-/**/n:n*n
, 그리고의 위치 변화 //ip@
, //
마지막 줄에, 그리고 공간.
남은 것은 해설자였습니다. 그 시점에서 나는 이전에 추가 한 수정 /**/
이 그리 좋은 아이디어가 아니라는 것을 깨달았습니다 . 왜냐하면 내장 /*
(유니 코드 문자 및 출력으로 활성 변환) 및 */
(숫자로 활성 출력) 때문에 많은 쓰레기를 출력하기 때문입니다. ..>.> 약간의 어려움을 겪고 몇 가지 시도를 한 후에 수정이 매우 쉬운 것으로 판명되었습니다 . 첫 번째 줄에 e
이전을 추가했습니다 #
. e#
는 내가 추가 한 코드로 인해 발생하는 문제를 수정하여 활성을 무효화하는 기본 제공 기능입니다.