당신의 작업은 간단합니다. 한 언어로 'abc'실행될 때 문자열 만 출력 하고 다른 언어로 실행될 때 문자열 만 출력하는 단일 코드 스 니펫을 작성하십시오 'cba'. 프로그램은 입력하지 않아야합니다.
이것은 코드 골프 도전입니다.
ABC대신abc
'ABC'그리고 'CBA'선행 / 후행 공백 / 줄 바꿈은 괜찮지 만 두 출력 모두 동일해야합니다.
당신의 작업은 간단합니다. 한 언어로 'abc'실행될 때 문자열 만 출력 하고 다른 언어로 실행될 때 문자열 만 출력하는 단일 코드 스 니펫을 작성하십시오 'cba'. 프로그램은 입력하지 않아야합니다.
이것은 코드 골프 도전입니다.
ABC대신abc
'ABC'그리고 'CBA'선행 / 후행 공백 / 줄 바꿈은 괜찮지 만 두 출력 모두 동일해야합니다.
답변:
disp(flip('abc',size(randsample(2,2),2)))
매트랩에서 randsample(2,2)2 × 1 벡터를 제공합니다, 그래서 size(...,2)이다 1. 따라서 flip단일 치수 인 첫 번째 치수를 따라 적용되므로 원래 문자열 'abc'이 표시됩니다.
옥타브에서 randsample(2,2)1 × 2 벡터를 제공합니다, 그래서 size(...,2)이다 2. 따라서 flip두 번째 차원을 따라 적용됩니다. 즉, 문자열이 왼쪽에서 오른쪽으로 뒤집 힙니다.
version변형 을 사용하면 이것이 몇 바이트 더 짧을 것이라고 생각합니다 .
-1 바이트를 걸 경우 ==0에 >0그러나 그것은 이미 다른 대답
print('acbbca'[1/2==0::2])
print('acbbca'[1/2==0::2])
1/2부여합니다 0(floordiv) 파이썬 (2)에 0.5따라서 파이썬 3의 (truediv) 1/2==0파이썬 2 파이썬 3 0에서 1주는 (실제로 논리 값은, 그러나 그것들은 단지 정수)이므로 'acbbca'[1::2] => 'cba'파이썬 3 부여하고는 'acbbca'[0::2] => 'abc'파이썬 주어진다 2.
"ABC"Excel "CBA"의 호출 셀 및 Google 스프레드 시트의 호출 셀에 입력 및 출력 을 받지 않는 익명의 워크 시트 수식
=IfError(M("CBA"),"ABC")
Google 스프레드 시트에서 M(...)별칭은 자동 형식화되어 T(...)(의 줄임말 Text())입니다. 이 호출은 전달 된 변수의 텍스트 값을 반환합니다 "CBA". "CBA"그래서, 오류로 적발되지 "CBA"의해 반환IfError(...,"ABC")
Excel에는 M(...)함수 M(...)가 없으며 별칭이 아니므 M("CBA")로 수식을 찾을 수 없음 오류을 반환합니다 #NAME?. 이것에 의해 잡히고 IfError(...,"ABC"), 그 결과로 돌아옵니다 "ABC".
설명은 편집을 참조하십시오
=If(IsErr(A()),"ABC","CBA")
=If(IsErr(GT()),"ABC","CBA")
=IfError(If(Info("NUMFILE"),"ABC"),"CBA")
iserr대신 iferror대신 "NUMFILE"의 "SYSTEM"을 사용하여 바이트와 1 :=IF(ISERR(INFO("SYSTEM")),"cba","abc")
그의 답변 대부분을 훔친 것에 대해 @HyperNeutrino에게 사과하면서 (아직 언급 할 평판이 없습니다)
print('acbbca'[1/2>0::2])
print('acbbca'[1/2>0::2])
<1btw입니다.
<!--
strrev=console.log//--><?=
strrev("abc");
abcJS와 cbaPHP로 인쇄합니다 .
온라인으로 PHP를 사용해보십시오! (TIO는 HTML 주석을 숨기지 않습니다 ( <!--... -->)
<!--노드 에서는 어떻게 해석됩니까?
--> blah blah일부 JavaScript 인터프리터에서 유효한 주석입니다.//
try:long;print('abc')
try:cmp;print('abc')
Excel에만 존재하는 함수를 사용한 @TaylorScott에서 영감을 얻어 Google 스프레드 시트에만 존재하는 더 짧은 함수를 발견했습니다. 편리하게 문자열을 반환하도록 설계되었습니다.
=iferror(join(,"cba"),"abc")
작동 원리
Google 시트에 join([arg1], arg2, arg3,...argk)연결할 것이다 ARG2 > - argk을 임의로 지정된 구분자 사용 ARG1를 . 이 경우 "cba"가 성공적으로 반환됩니다.
Excel에 join기능 이 없으므로 iferror문제가 발생하여 "abc"를 반환 함
'c'b'a]$
두 언어 모두 문자 목록을 정의합니다.
CJam에서는 $정렬이됩니다 abc.
Gaia에서는 $목록을 하나의 문자열로 결합 하여을 제공 cba합니다.
//\
interface a{static void main(String[]s){System.out.print("abc"/*
main(){{puts("cba"/**/);}}
Java 8로 시도하여 "abc"를 생성하십시오.
C로 시도하여 "cba"를 생성하십시오.
설명:
//\
interface a{static void main(String[]s){System.out.print("abc"/*
main(){{puts("cba"/**/);}}
위의 Java 강조 표시 된 코드에서 볼 수 있듯이 첫 번째 줄은 주석으로 인한 주석 //이고 C 코드는 주석으로 인한 주석 /* ... */입니다.
interface a{static void main(String[]s){System.out.print("abc");}}
//\
interface a{static void main(String[]s){System.out.print("abc"/*
main(){{puts("cba"/**/);}}
lang-cJava와 동일한 강조 표시로 인해 C-highlighting을 올바르게 활성화하는 방법을 잘 모르겠습니다 . 그러나 //\Java 코드 인 다음 행을 주석 처리하여 다음을 수행합니다.
main(){{puts("cba");}}
print('abc'[::int(1/2*4)-1])
파이썬 2에서는 인쇄물을 int(1/2*4)-1평가 -1합니다 cba. - 산화 티타늄
파이썬 3에서는 1그렇게 프린트를 평가 합니다 abc. - 산화 티타늄
#include<stdio.h>
main(){puts(sizeof('x')>1?"abc":"cba");}
challenger5 덕분에 78 바이트 .
aschepler 덕분에 58 바이트 .
hvd 덕분에 56 바이트
#ifdefs를 축소하여 하나를 만들 수 있습니다 . 2)에서 공간을 제거 할 수 있습니다 #include <stdio.h>. 3) 당신은 변경할 수 있습니다 printf("%s",로 puts(. 온라인으로 사용해보십시오!
sizeof('x')>1?"abc":"cba"트릭이 있습니다.
sizeof의 피연산자는 괄호가 필요하지 않으며 함수가 아닙니다.
cat("abc")#u@o;o;o(;
R의 경우, cat("abc")뻔뻔한 의견 남용. Cubix의 경우
c a
t (
" a b c " ) # u
@ o ; o ; o ( ;
. .
. .
"abc" 스택에 a, b ad c를 밀어 넣습니다.)# c를 증가시키고 스택의 요소 수를 푸시합니다.u 오른쪽으로 U 턴;( 카운트를 제거하고 c를 줄입니다.o;o;o@ 출력 CBA 및 종료스택에서 숫자를 푸시합니다
cat(Cubix에 의해 완전히 무시되는 방식으로 이상하게 기쁘게 생각합니다 .
print('abc'[::-(1/2>0)|1])
print('abc'[::-(1/2>0)|1])
exit대신 25 바이트 버전 으로 STDERR로 출력합니다.
이것은 기본적으로 print('abc'[::[1,-1][1/2>0]])골프 와 동일 합니다.
"abc"&&ov
; oo<
이 언어는 Ly가> <>를 기반으로하기 때문에 매우 유사합니다. 그러나 Ly는 2D 실행이 없으며 &다르게 해석하므로 여기에서 활용했습니다.
두 언어 모두 abc스택 으로 푸시 하여 시작합니다 .
> <>의 경우 &명령은 레지스터로 값을 이동합니다. 행에서 두 개는 레지스터로 값을 푸시 한 다음 다시 NOP로 바로 가져갑니다.
Ly의 &경우 명령이 전체 스택에서 기능을 수행하게하는 수정 자입니다.
o는 두 언어에 대해 동일한 것을 의미하지만 &Ly에서 수정 되었으므로 전체 스택을 인쇄하여 출력 abc합니다. > <>에서는 c위에서 아래로 인쇄 되므로 출력 만됩니다.
vLy의 NOP이며이를 건너 뛰고 바로 ;실행으로 이동합니다. > <>는 대신 IP 주소를 아래쪽으로 보내는 포인터로 취급합니다.
그런 다음 다른 화살표를 누르면 IP가 왼쪽으로 전송됩니다. 여기서는 두 개의 o표시, 출력 b및을 충족시킵니다 a.
편집 : 바이트를 저장하고 고정> <> 충돌
;두 번째 줄로 이동하여 바이트를 저장할 수 있습니다 . 또한> <> IP가 랩핑되지 않고 두 번째 줄을 다시 통과하지 않아 오류가 발생한다는 이점이 있습니다.
"abc"&&ooo;? "abc"를 인쇄 한 후에 만 Ly가 충돌합니다.
"abc"&&o!;o<충돌을 피하려면 1 바이트의 추가 바이트가 필요합니다.
…CBAžR
인쇄 ABC05AB1E과 (OP가 허용되었다 말했다) CBA2sable가 05AB1E하지만 유사 있다는 사실을 이용하여 2sable에서의žR 2sable이 버려진 후 05AB1E에 추가 .
lbtw를 추가하면 됩니다.
이것은 PHP가 '0'(정수와 같은) 잘못된 것으로 해석하기 때문에 작동 0하지만 JavaScript는 단순히 비어 있지 않은 문자열이라고 가정합니다.
'0'?alert('cba'):print(abc);
이것은 -rPHP 에서 실행됩니다 . Javascript에서는 콘솔에 붙여 넣으십시오.
1 바이트 절약 해 주신 @Justin Mariner 에게 감사드립니다 !
"0"대신에 사용할 수도 있습니다 +![]: 0PHP에서는 (거짓)되고 JS에서는 문자열 (거짓)입니다.
+![]?print(abc):alert('cba');->"0"?alert('cba'):print(abc);
-r깃발을 사용하여
PHP는보고 die(abc)주석을 작성하고, 컴파일러는 용서하기 때문에 abc빈 변수 대신 문자열로 출력 합니다.
Brainf * ck는 지시 문자 만보고 나머지는 주석으로 표시됩니다.
die(abc);#--[----->+<]>---.-.-.
온라인으로 사용해보십시오! (PHP)
온라인으로 사용해보십시오! (뇌물 * ck)
-r
print'abc'.reverse
print이야 cba우리가 전화하는거야으로 .reverse문자열에.
print'abc'.reverse
prints의 abc결과와 연결 reverse에 기본 작품으로 어떤 $_이는이 비어있는 등 차이가 없습니다.