++ , 146 바이트 추가
D,g,@~~,L2_|*;;*|_2L,@,g,D
D,ff,@^^,BG€gBF;;FBg€GB,@D1:?:
xx:?
aa:1
`bb
Bxx;;B
Waa*bb,`yy,$ff>xx,`aa,xx|yy,`bb,Byy,xx:yy
O;;O:,B,`,|,`,>$,`,*W`
온라인으로 사용해보십시오!
재미있는 사실 : 이것은 설명이 시작되기 오래 전에 272 바이트였으며 이제는 Java를 능가합니다.
출력 True
완벽하게 균형 문자열과 False
달리
만족 스럽게도 결과가 두 번 인쇄되는 것을 방지하기 위해 지루한 palindromize 버전 을 2 바이트만큼 능가합니다 . 또한 가능한 한 적은 죽은 코드를 사용하는 것을 목표로했지만 여전히 주석 처리 된 섹션이 있으며 올바른 값을 인쇄 한 후 코드가 오류 코드 1로 종료됩니다 .
주의 : 이 답변이 개발되는 동안 BF
명령 관련 버그 가 수정 되었습니다.
작동 원리
f f지f ff f지에스f f (S)에스
에스a b b b a a b a c c[ [ a ] , [ b b b ] , [ a a ] , [ b ] , [ a ] , [ c c ] ]지하위 목록을 함수 결과로 바꿉니다.
지2엑스[ a ][ b b ][ c c c ]
[ a ] ⇒ [ a , 1 ]
[ b b ] ⇒ [ b , b , 0 ]
[ c c c ] ⇒ [ c , c , c , 1 ]
엑스x > 2x − 2엑스*
지( s )에스BF
^
D,ff,@^^,
지아르 자형아르 자형;;
f f지f f
- x xf f
- y yf f
- aa
- b by y
지x y a b지
€
a b c{...}
지{...}
g gf f지
D,gg,@~~,L2_|*;;*|_2L,@D (NB: -2 bytes)
D,ff,@^^,BG€{gg}BF;;FB}gg{€GB,@D?: (NB: +6 bytes)
4 바이트 더 깁니다.
x = 5x = 15
x+10 ; Explicit argument
+10 ; Implicit argument, as x is active
엑스`
f f지x xxx:?
x xaaaa:1
1x xb b
`bb
Bxx
b bx xa a : = 1b b : = ¬¬ x x
그런 다음 while 루프에 들어갑니다.
Waa*bb,`yy,$ff>xx,`aa,xx|yy,`bb,Byy,xx:yy
while 루프는 Add ++ 의 구조 입니다. 변수가 아니라 코드에서 직접 작동합니다. 구조체 ,
는 작동하는 코드 문을 분리하여 사용합니다. while 및 if 문은 ,
변수가 포함 된 infix 명령과 같은 하나의 유효한 문으로 구성된 첫 번째 조건 바로 직전에 조건을 갖습니다. 주목할 사항 : 활성 변수는 조건에서 생략 할 수 없습니다.
aa*bb
aab by yf f (x)
`yy,$ff>xx
aa
- 1) 새로운 값이 이전 값과 같지 않습니다 (유일한 루프)
- 2) 새로운 값은 빈 문자열이 아닙니다.
Add ++의 가장 큰 단점 중 하나는 복합 문이 없기 때문에 두 번째 루프 변수가 필요하다는 것입니다. 우리는 두 가지 변수를 할당합니다 :
a a : = x x ≠ y y
b b : = ¬¬( y y )
코드로
`aa,xx|yy,`bb,Byy
|
B
x xy yxx:yy
f faab b
aax = yaay yb baa
그런 다음 최종 진술에 도달합니다.
O
b b
- a a =1b b = F a l s eF 리터 의 전자
- a a = T r u eb b = F a l s eF 리터 의 전자
- 에이 a = F a l s eb b = T r u eT r u e
b bb bT r u eF 리터 의 전자