다음과 같이 시작하는 표준 출력 또는 해당 언어의 100 줄 (유효한) Java 코드에 쓰는 스크립트를 작성하십시오.
class Tuple1 {public Object _0;}
class Tuple2 {public Object _0,_1;}
class Tuple3 {public Object _0,_1,_2;}
class Tuple4 {public Object _0,_1,_2,_3;}
class Tuple5 {public Object _0,_1,_2,_3,_4;}
class Tuple6 {public Object _0,_1,_2,_3,_4,_5;}
class Tuple7 {public Object _0,_1,_2,_3,_4,_5,_6;}
class Tuple8 {public Object _0,_1,_2,_3,_4,_5,_6,_7;}
class Tuple9 {public Object _0,_1,_2,_3,_4,_5,_6,_7,_8;}
class Tuple10 {public Object _0,_1,_2,_3,_4,_5,_6,_7,_8,_9;}
class Tuple11 {public Object _0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10;}
class Tuple12 {public Object _0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11;}
마지막 줄은로 시작해야합니다 class Tuple100
.
이것은 code-golf 이므로 바이트 단위의 가장 짧은 코드가 이깁니다!
답변
줄프, 42 바이트
최고 점수로 젤리를 때리는 보너스 포인트를 얻습니까? 인쇄 할 수없는 파일이 포함되어 있으므로 여기에서 온라인 으로 시도해 볼 수 있습니다 . 나는 인쇄 할 수없는 것을 가독성을 위해 각각의 대체 색인으로 대체했습니다.
‼Μz~1d"Ξ/êί Tuple% {Ξ0î⌂ Ξ2Qμ_ %;}"HRzH",_
설명
‼Μz~1d"Ξ/êί Tuple% {Ξ0î⌂ Ξ2Qμ _%;}"HRzH",_
Μz~1d map the range 1..100 with the following function
" begin a string
Ξ/êί short for "class"
Tuple% { H string interpolate H (current number)
Ξ0î⌂ Ξ2Qμ short for "public Object"
_%;}" RzH string interpolate with a range from 1..H joined
",_ by the string ",_" (auto-closed quotes)
답변
vim 56 54 키 스트로크
iclass Tuple1 {public Object _0;}<esc>qyYp<C-a>$y2bPr,<C-a>q98@y
V는 이전 버전과 호환 되므로 온라인으로 사용해 볼 수 있습니다!
이것은 vim에게 완벽한 작업입니다! 나중에 조금 더 골프를 칠 수도 있습니다. 또한 <c-a>
Control-A 를 의미하며 한 번의 키 입력으로 계산됩니다.
설명:
iclass Tuple1 {public Object _0;}<esc> 'Enter the starting text
qy 'Start recording in register y
Yp 'Yank the current line, the print on the line below
<C-a> 'Increment the next digit to occur by one
$ 'Move to the end of this line
y2b '(yank) 2 words (b)ack. This will grab '_0;'
P 'Print the previously yanked word before the cursor.
r, '(r)eplace the char under the cursor with a comma.
<c-a>q 'Increment the current digit, then stop recording
99@y 'Playback macro 'y' 99 times.
답변
답변
Pyth, 53 50 48 바이트
VS100%." }SüÆðQ´Ó3Ô«%&a´4UçõÛ"[Nj",_"UN
범위 (1,100)에 대한 간단한 반복과 형식화를 통해 묶음 문자열에서 해당 문자열을 작성합니다.
설명
VS100 %. "} SüÆðQ´Ó3Ô«% & a´4UçõÛ"[Nj ", _"UN VS100 # 범위 반복 (1,100) %. "} SüÆðQ´Ó3Ô«% & a´4UçõÛ"# 문자열의 압축을 풀고 포맷하십시오 [# 인수 형식 지정 목록 N # 튜플 수 j UN # 조인 개체 번호 ... ", _"# ... 분리기 ", _"
압축이 풀린 문자열은 class Tuple%i {public Object _%s;}
답변
CoffeeScript, 86 84 바이트
console.log "class Tuple#{i} {public Object _#{[0...i].join ',_'};}"for i in[1..100]
답변
자바, 160 , 125 바이트
개선을 위해 @DenkerAffe, @Denham Coote 및 @Mathias Ettinger에게 감사합니다.
Java 작성 java (누군가가 필요했기 때문에!)
void z(){String s="_0";for(int i=1;i<101;){System.out.println("class Tuple"+(i++)+" {public Object "+s+";}");s+=",_"+i;}}
그리고 골프화되지 않은 버전
void z(){
String s = "_0";
for(int i = 1 ;i < 101;){
System.out.println("class Tuple" + (i++) + " {public Object "+ s + ";}");
s += ",_" + i;
}
}
답변
Oracle SQL 9.2, 138 137 바이트
SELECT REPLACE('class Tuple'||LEVEL||' {public Object'||SYS_CONNECT_BY_PATH(LEVEL-1,',_')||';}','t,','t ')FROM DUAL CONNECT BY LEVEL<101;
@Peter 0/1 실수를 지적 해 주셔서 감사합니다.
쿼리는 계층 쿼리의 CONNECT BY CLAUSE를 사용하여 100 개의 행을 생성합니다.
LEVEL 의사 열에는 각 행의 행 번호가 포함됩니다.
SYS_CONNECT_BY_PATH는 각 행의 첫 번째 매개 변수 인 행 번호를 연결하고 두 번째 매개 변수를 분리 자로 사용합니다.