"코드 볼링"텍스트 출력


54

코드 볼링

Code Bowling모니터 에서 텍스트를 출력하는 간단한 프로그램을 만들기 위해 Brunswick Bowling이 고용했습니다 . 이 회사는 꽤 페니 가치가있다 당신은 당신이 꽤 그들을 사취 수 있다고 생각 비트 현금.

직업 설명은 그들이 점수를 기준으로 지불한다고 명시하고 당신은 당신이 당신의 이점에 따라 점수 시스템을 조작 하고이 사람들로부터 가능한 가장 큰 급여 수표를 얻을 수 있다고 확신합니다. 그렇게하려면 점수 시스템이 그렇게하지 못하도록 설계 되었더라도 프로그램 / 기능에 가능한 한 많은 코드 를 포장해야합니다 .

당신의 돼지 저금통을 꺼내, 코드를 보자!


도전

문제는 Code Bowling여기에 기록 된대로 가능한 최고 점수로 텍스트를 간단히 출력하는 것입니다. ( 아래 점수 시스템 참조)

선행 및 후행 줄 바꿈 (줄 바꿈)이 허용됩니다.

코드는 전체 프로그램이거나 실행 가능한 기능 일 수 있습니다.


규칙

의무 :이 과제는 Code-Bowling : Common Rules, Revision 1.0.0 ; 자세한 내용은 메타를 참조하십시오.

  1. 문자 : 바이트 비율
    코드 볼링에서 문자 수는 바이트 수보다 선호됩니다. 이에 대한 확실한 이유는 단일 바이트 유니 코드 문자 대신 멀티 바이트 유니 코드 문자 (예 : 🁴)를 사용하여 바이트 수를 늘릴 수 있고 누가 가장 많은 변수를 높은 바이트 유니 코드 문자로 이름을 바꿀지에 대한 볼링을 더 많이 만들 수 있다는 것입니다 의미 있고 복잡한 코드를 가장 전략적으로 만드는 사람보다

  2. 변수 / 함수 / 개체 이름
    모든 변수 이름 (또는 개체 포인터, 함수 이름 등)은 1 자 여야합니다. 2 자 변수 이름을 사용할 수있는 유일한 시간은 가능한 모든 1 자 변수를 사용한 후에입니다. 3 자 변수 이름을 사용할 수있는 유일한 시간은 가능한 모든 2 자 변수를 사용한 후에입니다. 기타.

  3. 사용하지 않은 코드
    모든 코드를 사용해야합니다. 즉, 개별 문자 (또는 다양한 문자 집합)가 제거 된 경우 프로그램이 항상 작업을 올바르게 완료하지 못하도록해야합니다. 당연히, 프로그램의 일부는 프로그램의 나머지 부분 없이는 스스로 작업을 완료 할 수 없어야합니다.

  4. 주석
    프로그램 / 기능에서 어떻게 든 사용하지 않는 한 문자 수에 대한 주석은 허용되지 않습니다.


채점 시스템 :

  팬 그램 챌린지 :

팬 그램 은 모든 문자를 한 번 이상 사용하는 문장입니다. (빠른 갈색 여우는 게으른 개 위로 뛰어 넘습니다).

이 챌린지 유형에는 완벽한 팬 그램이 이론상 최대 점수를 달성하도록 설계된 점수 시스템 이 있습니다 (모든 문자를 한 번 이상 사용할 필요 는 없지만 ). 한 번 이상 문자를 사용 하면 페널티가 발생하기 시작합니다. 이 도전은 또한 알파벳 문자 이상으로 확장됩니다.

  스코어링 지표 :

  1. 사용 된 각 캐릭터는 점수를 1 씩 증가시킵니다.
  2. 영숫자 (az, AZ, 0-9)를 반복해서 사용하면 반복 당 3 포인트가 차감됩니다 (처음으로 사용하면 차감되지 않음).
  3. ([!?.-,":';])대괄호를 포함하여 기본 구두점을 반복해서 사용하면 반복 당 2 포인트가 차감됩니다.
  4. {`~@#$%^&*_+=|\/><}중괄호를 포함하여 다른 ASCII 문자를 반복해서 사용하면 반복 당 4 포인트가 차감됩니다.
  5. 공백, 탭 및 줄 바꾸기를 사용하면 사용 당 1 포인트가 차감됩니다. 즉, 문자 총계에 포함되지 않습니다.
  6. 위에 언급되지 않은 문자 (이국적인 문자) 는 사용시 1 포인트를 차감합니다. 즉, 문자 총계에 포함되지 않습니다.

  채점 도구 :

자동 채점 위젯은 창조되어 찾을 수 있습니다 여기에 .


이것은 변형입니다. 가장 높은 점수를받은 프로그램이 승리합니다! (최대 점수 94가이므로, 처음 도달 한 사람 (도달 할 수있는 경우)은 수락 된 답변으로 표시되지만 다른 사람은 계속해서 재미있게 답변 할 수 있습니다)


37
나는 -75k의 점수를 얻었습니다. 이것이 가장 낮은 점수라면 놀랍게도 할 것입니다.
ATaco

1
@carusocomputing headsecks를보십시오. 점수는 여전히 끔찍할 것입니다. 또한 명령이 아닌 명령은 주석이므로 제거 할 수 있기 때문에 실제로 BF를 사용할 수 없었습니다.
mbomb007

1
정말, 당신은 무엇을 사용 문자 문자 집합 단지 결합 된 ASCII 상관하지 않기 때문에,이 좋은 것 구분
MildlyMilquetoast

2
가장 짧은 코드는이 도전에 대한 좋은 순위를 매길 것입니다!
Stewie Griffin

2
아마도 누군가 94-ers에게
바운티

답변:


36

글 리포 , 94

소스 파일은 CP437 로 인코딩됩니다 .

␀␀!"☺☺#$☻♥♥☻♦♣♦♣%♠♠&•◘•◘'○○(◙♂◙♂♀♪♪♀♫☼♫☼►◄◄►↕↕)*‼¶¶‼§§+,▬↨↨▬↑↓↑↓→←→←∟∟-.↔▲▲↔/▼▼▼⌂Ç⌂Çüééüââ01ää23àååàçêçê4ëë5èïèïîî67ìÄÄì8ÅÅ9ÉÉ:;æÆÆæô<=ôöòòöûùûù>ÿÿÿÖÖ?@ÜÜAB¢££¢¥₧¥₧CƒƒDáíáíóóEFúññúѪѪGººHI¿¿J⌐¬⌐¬K½½½¼¼LM¡««¡N»»»░░OP▒▒QR▓││▓┤╡┤╡S╢╢T╖╕╖╕U╣╣V║╗║╗╝╜╜╝W╛╛╛┐X┐┐Y└└└┴┬┴┬├─├─Z┼┼┼╞╞[\╟╟]^╚╔╔╚╩╦╩╦_╠╠`═╬═╬╧╨╨╧╤╥╥╤a╙╙╙╘╘bc╒╒de╓╓fg╫╪╪╫┘┌┌┘█▄█▄▌hi▌▐j▐▐▀αα▀ßΓßΓπΣπΣkσσσµlµµτmnτΦΘΘΦΩδΩδo∞∞∞φpφφεεqr∩≡≡∩±±st≥≤≤≥u⌠⌠⌠⌡⌡vw÷xy÷≈°°≈∙∙z{·|}·√ⁿⁿ√~²²²

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

설명

Glypho는 실제로 사용되는 문자를 전혀 신경 쓰지 않기 때문에 이와 같은 문제에 매우 유용합니다. 대신 4 문자의 각 청크를보고 사용되는 명령은 다음 4 가지 문자의 패턴에 따라 결정됩니다.

0000 n
0001 i
0010 >
0011 \
0012 1
0100 <
0101 d
0102 [
0110 +
0111 o
0112 *
0120 -
0121 ]
0122 !
0123 e

즉, 문제를 해결 한 다음 각 4 중주에 고유 한 문자를 인쇄 가능한 문자와 반복되는 모든 문자를 일부 "이국적인"문자로 채울 수 있으며 이는 점수에 의해 무시됩니다. Glypho는 일반 필기 솔루션에 94 개의 인쇄 가능한 모든 문자를 넣을 수있을만큼 고유 한 문자가 포함되어 있기 때문에 충분히 장황합니다. 사실, 나는 정확히 94가 될 때까지 골프를 쳤습니다. 그래서 반복 된 캐릭터에 독창적 인 이국적인 캐릭터를 사용할 수 있기를 바랍니다.

위 프로그램의 약식은 다음과 같습니다.

11+d*d*d+d+1+1+dd1+o
d+11+d*d1+*1+-+do
11+d*d1+d**do
1+o
11+d*d*d+o
<o
ddo
11+d*d++o
111++d-<+ddo
<-+do
<1+1+o
1-+1-+o

각 줄은 문자 중 하나를 인쇄합니다.

내가 사용했던 이 망막 스크립트를 사용하여 Glypho로 변환 0123. 그런 다음 숫자 대신 문자를 채웠습니다.

이론적으로 누군가가 속기 프로그램을 골라 내고 올바른 패턴이 표시되도록 문자를 다시 결합 할 수 있다면 이것을 더 줄일 수 있습니다. 그러나 이것이 가능하다는 것을 증명하거나 반증하는 방법을 모르겠습니다 . 누군가 내 프로그램의 하위 집합에서 유효한 솔루션을 만들 수 있다면 수정 될 때까지 답변을 삭제할 수 있도록 알려주십시오. 그때까지는 이것이 유효하다고 가정해야합니다.


좋은 물건! 94최대 점수 이므로 지금 은 이것을 받아들이고 있습니다. 그래도 누구나 재미있게 답변 제출할 수 있습니다.
Albert Renshaw

잘 했어, 마틴! 내가 몇 시간 더 빨랐다면 ... : D
mbomb007

@AlbertRenshaw 타이 브레이커가 바이트 수 여야합니까? : D
mbomb007

48

파이썬 3, 82 87 88

+1 점을 얻은 @JonathanAllan에게 감사합니다

print("g!#$%&'*n+,./012i34579;<l=>?@ADEwFGHIJKLoMNOPQRSBTUVWXYZ ^_`abchejkmqsuvdyz{|}~ \x6f       C"[::-8])

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

특별한 것은 없으며 문자를 자르거나 건너 뜁니다. 문자열을 반대로하여 문자를 제거하거나 원래 문자열을 인쇄 할 수 없습니다.


2
우와 그것은 이다 좋아.
Matthew Roh

1
아주 좋은 대답이지만 왜 순서가 뒤섞여 있습니까? HIJKLMN...물론 모든 8 번째 캐릭터를 제외하고 자연스럽게 ( ) 순서대로 만드는 것이 더 간단하지 않습니까?
Stewie Griffin

@StewieGriffin 더 쉬웠을 것입니다. 예. 방금 세트를 반복하고 정렬에 신경 쓰지 않았습니다.
TidB

다른 캐릭터를 이상한 순서로 채운 이유가 있습니까?
mbomb007

2
당신은 영감 TidB와 같은입니다! 나의 새로운 질문 :)
Stewie Griffin

17

> <> , 92 94

그래, 난 했어!

는 IS 외래 문자 \x11프로그램은 결과 (이 스택 언더 플로우의) 인쇄 후 오류로 종료 진수 값은 17로. 각 미러를 한 번만 사용할 수 있기 때문에 신중하게 사용한 미러 및 방향 명령을 관리해야했습니다.

   >"vCoUV␑3`h]Z_X
       /a[f+
#$%&'r(!
.0456~8?
:;<=@9l)
ABDEFcGe
HIJKL*
MNOPQ7
RSTWYd
bgijk1
mnqst-
uwxyz2
{|}  ,
     \p^

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

핵심 프로그램 :

   >"vCoUV␑3`h]Z_X
       /a[f+
     r !
     ~ ?
     9 )
     c e
     *
     7
     d
     1
     -
     2
     ,
     \p^

설명:

줄을 밀어 넣습니다 vCoUV␑3`h]Z_X >(실행 줄 바꿈). 아래로 이동 스택을 뒤집고를 제거하십시오 v.

9c(12)를 누릅니다 . 곱하기 108( l). 을 누릅니다 7. 푸시 d(13), 빼기 1에 의해 분할 2얻을 6. l(13,6)의 (x, y)에 놓으십시오 e. 나는이 방법을 더 짧게 할 수 있었지만 이것이 길어 졌으므로 더 많은 ASCII 문자를 넣을 공간이 있습니다.

루프로 올라갑니다. 을 사용하여 스택 길이를 밉니다 l. 14보다 큰 경우 출력 문자, 그렇지 않으면 상위 10 개 요소로 새 스택을 작성하고 15를 추가 한 다음 실행을 반영한 다음 바로 실행하여 출력하십시오. 이것은 여분의 공간을 막고 >마지막에 인쇄 되는 것을 방지하고 무작위로 보이는 문자열을 인쇄해야 할 문자열로 바꾸는 데 사용됩니다. 루핑을 계속하십시오.

문자를 제거하여 줄이 더 짧으면 프로그램의 세로 부분이 더 이상 정렬되지 않거나 인쇄 할 문자열이 더 이상 올바르지 않아 프로그램이 더 이상 작동하지 않습니다. 각 줄 앞에서 문자를 제거하려고하면 스택 깊이와 l배치 위치 가 변경되어 문제가 발생합니다.

물고기


94! 좋은! 나는 당신이 거기에 도착할 것이라고 생각하지 않았다
Albert Renshaw

2
첫 번째 버전을 만들기 시작했을 때 재사용 할 수 있다는 것을 알았습니다. 그런 다음 "l를 제거 하고 약간의 작업을했습니다. 일단 92를 누르면 마지막을 제거 할 방법이 있어야한다고 확신했습니다 o. 그래도 약간의 노력이 필요했습니다. 개정 이력으로 알 수 있습니다.
mbomb007

16

옥타브, 20 21 22 25 27 33

내가 지금까지 관리 한 최선은

g=@()disp(horzcat([67 9583 -412],'e B',"nvkhmf"+!0));

이것은 f입력을받지 않는 익명 함수 를 만듭니다 . 당신은 그것을 호출 할 수 있습니다 f(). 함수 본문의 인쇄를 피하기 위해 끝에 세미콜론이 필요하다고 말하고 싶습니다.

이것이 결합하여 개선 될 수있다 evalprintf, 그러나 나는 시도하고 반복해서 실패했습니다.

이것은 mod(x,256)숫자를 문자로 암시 적으로 변환 할 때 옥타브가 연산을 수행 한다는 사실을 탐색하여 모든 숫자를 한 번 사용합니다 . 즉, 정상 32-126범위 밖의 숫자뿐만 아니라 음수도 사용할 수 있습니다 . 다음 숫자는 모두 i문자로 변환 될 때 문자가 됩니다 ... -2455 -2199 -1943 ... 105 361 .... 'owling'결국 사용하는 대신 "nvkhmf"1 을 사용 하고 더합니다. 이것은 암시 적으로 문자로 변환되는 정수 벡터를 만듭니다. 대신 1, 우리는 사용 !0(또는 not(false)또한, 우리가 사용합니다. "대신 '두 벌점을 피하기 위해.

가장 낮은 점수를주는 일련의 숫자를 찾아야합니다. Code Bowling-10 * 256-10 * 256을 빼고 더하면 문자열의 결과는 다음과 같습니다.

  -2493  -2449  -2460  -2459  -2528  -2494  -2449  -2441  -2452  -2455  -2450  -2457
  -2237  -2193  -2204  -2203  -2272  -2238  -2193  -2185  -2196  -2199  -2194  -2201
  -1981  -1937  -1948  -1947  -2016  -1982  -1937  -1929  -1940  -1943  -1938  -1945
  -1725  -1681  -1692  -1691  -1760  -1726  -1681  -1673  -1684  -1687  -1682  -1689
  -1469  -1425  -1436  -1435  -1504  -1470  -1425  -1417  -1428  -1431  -1426  -1433
  -1213  -1169  -1180  -1179  -1248  -1214  -1169  -1161  -1172  -1175  -1170  -1177
   -957   -913   -924   -923   -992   -958   -913   -905   -916   -919   -914   -921
   -701   -657   -668   -667   -736   -702   -657   -649   -660   -663   -658   -665
   -445   -401   -412   -411   -480   -446   -401   -393   -404   -407   -402   -409
   -189   -145   -156   -155   -224   -190   -145   -137   -148   -151   -146   -153
     67    111    100    101     32     66    111    119    108    105    110    103
    323    367    356    357    288    322    367    375    364    361    366    359
    579    623    612    613    544    578    623    631    620    617    622    615
    835    879    868    869    800    834    879    887    876    873    878    871
   1091   1135   1124   1125   1056   1090   1135   1143   1132   1129   1134   1127
   1347   1391   1380   1381   1312   1346   1391   1399   1388   1385   1390   1383
   1603   1647   1636   1637   1568   1602   1647   1655   1644   1641   1646   1639
   1859   1903   1892   1893   1824   1858   1903   1911   1900   1897   1902   1895
   2115   2159   2148   2149   2080   2114   2159   2167   2156   2153   2158   2151
   2371   2415   2404   2405   2336   2370   2415   2423   2412   2409   2414   2407
   2627   2671   2660   2661   2592   2626   2671   2679   2668   2665   2670   2663

따라서 ['',2627 2415 2148 1893 -2528 66 -1169 -1161 2668 105 -146 103]결과는 ans = Code Bowling입니다. 문제는 점수를 가장 많이 줄이는 숫자와 문자 집합을 찾는 것입니다. 물론 모든 숫자를 사용하는 것이 좋지만 복제본은 좋지 않습니다. 모든 자릿수가 사용되고 비 숫자가 두 번 사용되므로 이것이 가장 좋은 혼합입니다. 또한을 사용 -하여 한 지점을 얻습니다 .

아래 줄로 줄일 수 있다고 주장 할 수 있지만 (31 포인트), 더 이상 "실행 가능 기능" 이 아니므로 다른 기능을 갖습니다.

disp(horzcat([67 9583 -412],'e B',"nvkhmf"+!0))

당신도 시도 했습니까 function q();disp(...)? 를 제외하고는 i()겹치지 않습니다.
Sanchises

@ Sanchises 나는 그것을 확인할 수 있습니다. 그러나 cothorzcatnf문자열에 매우 크게 점수를 낮출 것이다. 그래도 horzcat다른 방법으로 문자열을 제거 하고 만들면 더 좋을 수도 있지만 사용할 수는 없습니다 +!0. 솔직히 점수를 올리면 놀랄 것입니다 ... 현재 답변보다 7 자만 길며 언급 한 것 외에도 7 바이트 페널티를 얻습니다.
Stewie Griffin

1
그래 내가 하찮게에 더 높은 점수를 얻을 수없는 function,하지만 난 당신이 이미 시도했을 수도 생각 나는 (유용 PPCG 내 시간을 보내고, 당신은 알고 반대) 내 시간을 낭비하는 것
Sanchises

12

Q 기본, 34

형식화되지 않은 코드입니다 (대 / 소문자 구분 안 함). QB64 또는 archive.org 에서 실행할 수 있습니다 (후자는 코드를 입력 할 때 형식이 지정됨 ). 나는 모든 규칙을 준수 했다고 생각 합니다.

CLS
PrINT "C
LOcatE 1, 2 : ? CHR$(957-846); "de Bowling

CLS필요하다 : 그것은하지 않고는 C그와 함께 줄 것이다 화면의 왼쪽 상단에 인쇄 보장 할 수 없습니다 ode Bowling. 이 LOcatE필요하다 : 그것은없이 ode Bowling아래 줄에 인쇄됩니다 C. 삭제하고 동일한 출력을 유지할 수있는 프로그램의 하위 집합 (공백 제외)이 있다고 생각하지 않습니다.


1
온라인 통역사와의 링크를 공유 할 수 있습니까? repl.it에서 이것을 실행할 수 없습니다. 나는 얻는다Parse failed: Syntax error at 3:36: Token(Bowling)
Stewie Griffin

1
@StewieGriffin 몇 가지 옵션으로 편집되었습니다.
DLosc

1
@StewieGriffin, 이것은 문자열의 줄 끝까지 확장되는 경우 문자열의 닫는 따옴표가 선택 사항 인 Microsoft의 Basic 구현의 단점을 활용합니다. 대부분의 비 Microsoft 통역사는 누락 된 따옴표에 반대 할 것으로 예상합니다.
Mark

분명히 QBasic은 나에게 매우 강한 냄새 연관성을 가지고 있습니다.
찰스

1
@DLosc 그것은 내가 배운 책과 같은 냄새가납니다. 나는 몰랐다. 그것은이었다 LOCATE 1, 2행한 것이
아니 찰스 그

12

C, 27 29

@ceilingcat 덕분에 +2 포인트!

f(){char q<:]="Code B\157wling";puts(q);%>

2
제안 char q<:]대신 char q[]하고 puts(q);%>대신puts(q);}
ceilingcat

제안 : 출력 문자열의 각 세그먼트를 별도의 기능을 1.using 후 2 f를 기능에 무리하게 긴 코드를 만들기 위해 구조체를 사용하는 마법 모두를 실행
마태 복음 노무현

1
@MatthewRoh 나는 당신이 점수 시스템이 꽤 무거운 처벌을 찾을 수 있다고 생각
앨버트 Renshaw

1
그 있습니다 @AlbertRenshaw 이중 음자를
ceilingcat

14
하하, 내가 처음 볼 때+2 points thanks to ...
Kritixi Lithos

9

하스켈 점수 21 38 46 47 21 70

putStr$toEnum(length"!#%&'*+,-./012345789;<=>?@ADGHIJKLMNOPQRTUVWXYZ[]^_`abcfjkqsvyz{|}~"):"ode B\x6Fwling"

온라인으로 사용해보십시오! 아이디어는 C달리 사용되지 않는 모든 문자를 포함하는 길이가 67 인 문자열을 구성 하고이 문자열의 길이를 문자로 변환하여 선행을 얻는 것입니다 . 나는 시작 putStr$toEnum(length""):"ode B\x6Fwling"( '\x6F'대한 16 진수 '\111'산출하는 'o') 프로그램에 포함 된 모든 인쇄 가능한 ASCII 문자를 계산 :

!#%&'*+,-./012345789;<=>?@ACDGHIJKLMNOPQRTUVWXYZ[]^_`abcfjkqsvyz{|}~

또한 문자열에 넣을 수있는 인쇄 가능한 ASCII 문자는 정확히 67 개가 남아 있으며 문자열 C자체에는 문자열을 표시 할 수 없습니다 putStr"Code B\x6Fwling".


이전 솔루션 : (점수 21)

f|x<-'C'=mapM putStr[(:)x"ode Bowling"]

f입력을받지 않고 문자열을 인쇄 하는 함수 를 정의합니다 . 온라인으로 사용해보십시오!


1
Leo

@ 레오 멋진 캐치! 이 방법 95은 문자열에서 빼기를 사용하여 업데이트 된 버전에서도 작동 4621합니까? (지금은 직접 확인할 시간이 없지만 나중에 다시 살펴볼 것입니다)
Laikoni

1
잡았다 . 그 결과가 얼마나 간단한 지 보며 생각보다 오래
Leo

8

자바 스크립트, 19

prompt('C\157de B\x6fwlin'+"g")

매우 높은 점수는 아닙니다.


z(){var x=alert('Code \nBowling');}
sagiksp

@AlbertRenshaw는 세미콜론을 제거 할 수 있습니다
ASCII 전용

1
@sagiksp 작동하지 않습니다. function이전 에는 없었습니다f
ASCII 전용

1
Damnit o은 사용되지 않았습니다
ASCII 전용

1
19 :prompt('C\157de B\x6fwlin'+"g")
Albert Renshaw

8

젤리 , 94

“!#"$&('*)+-/,13.0456:79<;>=@B?ADFHJLNCPRTEVXZ\G^IKMQ`SWbY[]d_acfhjegliknmprotquvxwy{z}¹|³⁵⁷~°⁹⁻”O%2s8UḄỌ

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

105 개의 독특한 캐릭터, 11 개의 이국 ( “¹³⁵⁷°⁹⁻”ḄỌ).

어떻게?

각 비트가 문자의 유니 코드 값의 LSB를 사용하여 인코딩되는 8 비트 역 ASCII에서 문자열을 형성합니다.

“...”O%2s8UḄỌ - Main link: no arguments
“...”         - the string enclosed            !  #  "  $  &  (  '  *  )  +  -  /  ,  1  3  .  0  4  5  6  :  7  9  <  ;  >  =  @  B  ?  A  D  F  H  J  L  N  C  P  R  T  E  V  X  Z  \  G  ^  I  K  M  Q  `  S  W  b  Y  [  ]   d  _  a  c   f   h   j   e   g   l   i   k   n   m   p   r   o   t   q   u   v   x   w   y   {   z   }   ¹   |   ³    ⁵    ⁷   ~   °    ⁹    ⁻
     O        - cast to ordinal (vectorises) [33,35,34,36,38,40,39,42,41,43,45,47,44,49,51,46,48,52,53,54,58,55,57,60,59,62,61,64,66,63,65,68,70,72,74,76,78,67,80,82,84,69,86,88,90,92,71,94,73,75,77,81,96,83,87,98,89,91,93,100,95,97,99,102,104,106,101,103,108,105,107,110,109,112,114,111,116,113,117,118,120,119,121,123,122,125,185,124,179,8309,8311,126,176,8313,8315]
      %2      - mod 2 (vectorises)           [ 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1,  0, 1, 1, 1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  1,  0,  0,  1,  0,  1,  1,  0,  0,  1,  1,  1,  0,  1,  1,  0,  1,   1,   1,  0,  0,   1,   1]
        s8    - split into chunks of 8       [[1,1,0,0,0,0,1,0], [1,1,1,1,0,1,1,0], [0,0,1,0,0,1,1,0], [1,0,1,0,0,1,1,0], [0,0,0,0,0,1,0,0], [0,1,0,0,0,0,1,0], [1,1,1,1,0,1,1,0], [1,1,1,0,1,1,1,0], [0,0,1,1,0,1,1,0], [1,0,0,1,0,1,1,0], [0,1,1,1,0,1,1,0], [1,1,1,0,0,1,1]]
          U   - upend (vectorises)           [[0,1,0,0,0,0,1,1], [0,1,1,0,1,1,1,1], [0,1,1,0,0,1,0,0], [0,1,1,0,0,1,0,1], [0,0,1,0,0,0,0,0], [0,1,0,0,0,0,1,0], [0,1,1,0,1,1,1,1], [0,1,1,1,0,1,1,1], [0,1,1,0,1,1,0,0], [0,1,1,0,1,0,0,1], [0,1,1,0,1,1,1,0], [1,1,0,0,1,1,1]]
           Ḅ  - binary to int (vectorises)   [67, 111, 100, 101, 32, 66, 111, 119, 108, 105, 110, 103]
            Ọ - to character (vectorises)    ['C', 'o', 'd', 'e', ' ', 'B', 'o', 'w', 'l', 'i', 'n', 'g']
              - implicit print               Code Bowling

1
젤리는 다른 사람보다 길다. 이것이 어떻게 가능합니까?
Christopher

1
@DownChristopher 실제로 파이썬 답변보다 짧습니다. 파이썬 답변은 반복적입니다.
fəˈnɛtɪk

@DownChristopher 풍자를 감지합니까?
Jonathan Allan

@JonathanAllan 아니오 그래, 나는 아직도 젤리가 꽤 길다는 것이 재밌다는 것을 안다
Christopher


6

추기경 20

공백이 아닌 문자 23 개 (
##> / NI "CodeB8 ^ o) wl, ing

"o"반복의 경우 -3

   I
 >\/N
%# "CodeB
 8^o
 ) w
   l
 , i
   n
   g

포인터 경로 :

1 단계 :
%가 오른쪽으로 이동하여 포인터 생성

2 단계 :
포인터가 #에서 분할되어 상하로 이동 (P1, P2, P3)

3 단계 :
P1 바로 전송>
P2 오른쪽 이동
P3 8 단계에서 3 단계 대기 설정

4 단계 :
P1 \에 의해 반영됩니다. \ /
P2로 변경 "
P3 으로 인쇄 모드로 설정 8에서 2 틱을 기다립니다

5 단계 :
P1 제목 아래로
P2 인쇄 C
P3 8에서 1 틱 기다림

6 단계 :
P1 ^ ^
P2로 보냄 o
P3 계속 기다립니다.에서 ""(32)의 ASCII 값을 가져옵니다.)

7 단계 : P1 제목
P2 인쇄 d
P3 제목 아래

8 단계 : P1 /로 변경 한 \에 의해 바로 반영
P2 인쇄 e
P3에서 ASCII 값이 32 인 문자를 인쇄합니다.

9 단계 :
P1 /에 의해 반영되어 \
P2 로 변경됩니다. 인쇄 B
P3 필드 끝에 도달하여 정지합니다

10 단계 :
P1 I에 의해
반영됨 P2 필드 끝에 도달하여 멈춤

11 단계 :
P1 /로 바로 반영되어 \로 변경되었습니다. /로 변경

12 단계 :
P1이 N에 의해 ​​왼쪽으로 반영

13 단계 :
P1이 /에 의해 반영됨

14 단계 :
P1 "로 인쇄 모드로 설정

15 단계 :
P1 인쇄

16 단계 :
P1 인쇄

17 단계 :
P1 인쇄 l

18 단계 :
P1 인쇄 i

19 단계 :
P1 인쇄 n

20 단계 :
P1 인쇄

21 단계 :
P1 필드 끝에 도달하고 중지합니다.

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


5

C, 73

@Laikoni에게 감사합니다!

F(){printf("Code B\157wli%cg",48+strlen("!#$&'*-../2369:<=>?@ADEGHIJKLMNOPQRSTUVWXYZ[]^_`abhjkmquvxyz|~"));}

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

C,  31   33  35

F(){printf("Code B\157wli%cg",96|0xD+3*4/8);}

@ceilingcat과 @DLosc에게 2 점 더 감사하고 @ Ørjan Johansen에게 2 점 더 감사합니다!

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


1
@ceilingcat 그런 다음를 제거하고 8-유효한 코드를 여전히 가질 수 있습니다. 0xA-4+8그래도 작동해야합니다.
DLosc

1
시겠습니까 0xA+32/8일? (뭔가 이동식없이, 즉.)
Ørjan 요한센

@ ØrjanJohansen 그렇게 생각합니다. 없음 +32, +3, +2, +3/8, +2/8, /8또는 +8적절한 출력을 생성한다. 감사!
Steadybox

아, 나 0xD+4*8/32. 기다릴 필요 0xD+4/3가 없습니다.
Ørjan Johansen

1
Haskell 답변 과 동일한 접근 방식을 사용하면 어떤 식 으로든 환원 할 수없는 경우 74 점을 얻 습니다. 온라인으로 시도하십시오!
Laikoni

3

배치, 19 자

@echO(Cod%TMP:~5,1% Bowling

윈도우 비스타부터 TMP시작 C:\Users\하기 때문에 %TMP:~5,1%쓰기의 자세한 방법은 e두 배를 요구에도 불구하고, %-4 페널티 킥에서.


3

Brainfuck : -204

++++[++++>---<]>.+[--->+<]>+++.-----------.+.--[--->+<]>-.+[->++<]>.-[--->+<]>++++.++++++++.-----------.---.+++++.-------.

글쎄, 끔찍한 점수이지만 작성하는 것이 재미있었습니다.

  • 122 자 길이
  • 반복 된 alnum : -0 ()
  • 구두점 반복 : -134 (-[---] .-----------..-- [---]-. [-] .- [---] ..-- ---------.---..-------.)
  • 다른 반복 : -192 (+++++++> +> + <> ++++> + <> +> ++ <>> + <> +++++++++++++ ++++)
  • 공백 문자 : -0 ()
  • 이국적인 문자 : -0 ()

Brainfuck PPCG 도전에서 이길 있습니까? ; P
Draco18s 2016 년

@ Draco18s는 아마도 하하 울지 않을 것입니다.
Haydn Dias

1
'Fun to write'는 텍스트 생성기에 "Code Bowling"을 입력한다는 의미 입니까?
조 왕

3

자바 8 2 3 5 13 17 18 19 20 21 24 77 78 점

@Laikoni 덕분에 +53 점수 (24 → 77) .

v->(char)"!#$%&'*,/0234689:;<=?@ADEFGHIJKLMNOPQRSTUVWXYZ[]^_`bfjkmpqsuxyz{|}~".length()+"\157de Bowling"

104 자 길이
-반복 자릿수 : -15 ( helng)
-반복 된 문장 부호 : -10 ( "()"")
-다른 ASCII 반복 : 없음
-공백 문자 : -1
점수 : 78

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


이전 24 바이트 답변 :

v->"C\157de Bowlin"+(char)103;

30 자 길이
-반복 된 자릿수 : -3 ( 1)
-반복 된 문장 부호 : -2 ( ")
-다른 ASCII 반복 : 없음
-공백 문자 : -1
점수 : 24

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


텍스트에 8 진수 이스케이프를 사용하면 유니 코드 이스케이프에 대해 얻는 2 대신에 점수가 6 씩 증가합니다 (둘 다 더 나쁜 경우). 또한 첫 번째 또는 마지막 문자를 연결하면 점수가 1 씩 증가합니다. 마지막으로 명명 된 함수가 아닌 람다를 사용하는 것이 더 나을 수도 있습니다.
Neil

@ Neil Weird, 나는 이미 Object x(){return"C\157de Bowling";}몇 시간 전에 17 점을 생각해 냈습니다 .. 분명히 나는 ​​제출에 그것을 편집 / 저장하지 않았습니다. 람다가 아직 없습니다. 그래도 람다로 Java 8 답변을 추가 할 수 있습니다.
케빈 크루이 센

죄송합니다, 나는 눈치 채지 못했습니다 7. (그러나 연결을 잊지 마십시오.)
Neil

1
Haskell 답변 과 동일한 접근 방식을 사용하면 77의 점수 로이 버전을 제공 합니다. 온라인으로 사용해보십시오! .
Laikoni

@Laikoni 감사합니다! 당신에게 +53 점수 감사합니다. 그리고 Java 8 답변은 일반적으로 후미 세미콜론없이 답변되므로 후미 세미콜론을 제거하고 다른 +1로 반복 ,,을 대체 할 수 ,;있습니다. 남은 사용 가능한 인쇄 가능한 모든 ASCII를 사용하는 문자열이 char-code에 대해 정확히 97자인 방법이 재미 있습니다 C. :)
Kevin Cruijssen

2

스택 , 42

(67:43,1 ab)2 9*pf sum 8/0\|>+chr'de Bowling',EPS#`

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

출력을 스택에 둡니다. 고장은 다음과 같습니다.

length: 51
repeated alnum:        -0 ()
repeated punct:        -4 (',)
repeated other:        -0 ()
whitespace characters: -5 (     )
exotic characters:     -0 ()
total score: 42

아마 더 높아질 수는 있지만 42 soo입니다 ....

또 다른 도전자, 40 :

(67:43,sum)9 pf 2%MIN 0\|>+chr'de Bowling',EPS#`

점수를 매길 때이 스크립트를 사용했습니다.


2

, -81

Brainfuck보다 낫다!

aeeaeuwkaaeeuwygaeaeclaaxjlwalusbdgueuewguwpweewpuuuwuuuwpuweew

설명

aeeaeuw //Write 'C'
k       //Set P[0] to 'C'
aaeeuw  //Write 'O'
y       //Set W[0] to 'O'
gaeae   //Set Accumulator to 'D'
claa    //Create new Wheel cell at index 0, swap with Accumulator, add 2
xj      //Set alternate marker mode and drop marker
lwa     //Write value of W[0], add 1
lu      //Put it back, subtract 1 from Accumulator
sb      //Go to 'j' if Accumulator != 0
d       //Delete W[0]
        //The above loop writes 'D' and 'E'
gueuew  //Write ' '
guw     //Write 'B'
pw      //Write 'o'
eew     //Write 'w'
puuuw   //Write 'l'
uuuw    //Write 'i'
puw     //Write 'n'
eew     //Write 'g'

아무도 악한 일을하지 않았지만 재미 있기 때문에 제출했습니다.

점수:

길이 = 63

a*8  = -24
e*12 = -36
g*2  = -6
l*2  = -6
p*2  = -6
u*12  = -36
w*10  = -30

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

편집 : TiO가 새로운 휠 셀의 생성 및 삭제를 잘못 처리하는 것 같습니다. 주제에 대한 버그 보고서를 제출했습니다. 제대로 작동하지 않지만 내 통역사에서 실행했으며 작동하므로 걱정하지 않아도됩니다.)


2

펄 : 29 , 33

$_=OWLING;printf%s,"C\157de".chr(30+8/4).B.lc

점수:

- 46 characters long
- repeated alnum:       -6 (rc)
- repeated punctuation: -6 ("..)
- repeated other:       -0 ()
- whitespace characters:  -1 (
)
- exotic characters:  -0 ()

Total score: 33

2

05AB1E , 94 포인트

”X1234bcde5fghijk68l9<mn>,o.p|q\/{})r(_-+s=tu*vwxyzAB&YDEFG^HI%$ZK#L@!MNO~PQR`ST':UVW[0];"”€a7ôJCç€?

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


- 100 characters long
- repeated alnum:       -0 ()
- repeated punctuation: -0 ()
- repeated other:       -0 ()
- whitespace characters:  -0 ()
- exotic characters:  -6 (””€ôç€)

Total score: 94

기본적으로 코드 볼링의 이진 ASCII를 변환합니다.

['1000011', '1101111', '1100100', '1100101', '0100000', '1000010', '1101111', '1110111', '1101100', '1101001', '1101110', '1100111']

1과 0의 문자열로, 각 1을 알파벳의 문자로 바꾸고 각 0은 공백 문자 나 기호 또는 숫자로 바꿉니다.

”X1234bcde5fghijk68l9<mn>,o.p|q\/{})r(_-+s=tu*vwxyzAB&YDEFG^HI%$ZK#L@!MNO~PQR`ST':UVW[0];"”

문자열이며, 여기서 1은 문자이고 0은 기호, 숫자 또는 다른 것입니다. 그런 다음 알파벳순으로보고 알파벳이 아닌 경우 1을 눌러 알파벳이 아닌 것을 반복합니다. 그런 다음 7 개 그룹으로 나누고 ASCII로 다시 변환하고 각 문자를 인쇄합니다.


2

T-SQL, 65 18 32! 포인트들

PRINT char(78-9605*43%12) + 'ode Bowling'

Dlosc의 QBasic 답변의 트릭에서 영감을 얻은 결과 , 대부분 시행 착오를 통해 10 자리와 대부분의 수학 연산자 ( %나머지 / 모듈로, 누락 만 있음 /)를 모두 포함하는 방법을 찾았습니다 . 숫자 / 기호 조합을 제거하여 67을 얻는 방법은 없다고 생각 하지만 시도해보십시오.

버전 2 (18 포인트, 사소한) :

DECLARE @ char(12)='Code Bowling'PRINT @

큰 점수는 아니지만 이것이 첫 번째 버전으로 단순화 된 것입니다 (MickyT 덕분에). 내가 시도한 모든 것 (hex64 인코딩 및 디코딩, 문자열에서 개별 요소 선택, ASCII 값 변환 등)에는 모두 너무 많은 반복 문자 (특히 ECR기호 (),@)를 사용하여 음수로 만듭니다.

버전 1 (65 포인트, 유효하지 않음) :

DECLARE @ char(123)=
'Code Bowling FGHJKMOQSUVWXYZbjkmpqsuvxyz045789 [!?.-":;]{`~#$%^&*_+|\><}'
PRINT left(@,LEN(@)/6)

문자열 길이를 사용하여 왼쪽에서 사용하는 문자 수를 결정 했으므로 문자열에서 단일 문자를 제거 하면 정수 나누기 결과가 11로 떨어지고 출력 만됩니다 Code Bowlin.


확실하지 않지만 DECLARE @ char(12)='Code Bowling'PRINT @규칙 에 따라 줄일 수 있다고 생각합니다 .
MickyT

@MickyT 그것은 내 대답을 무효화 할 수 있습니까? 채팅에서 누군가 임의의 긴 부분이 아닌 임의의 단일 문자 제거 만 견뎌야한다고 말했습니까?
BradC

나는 여기에 잠시 남겨 두겠다. 항상 t-SQL 답변을 보는 것이 좋다
MickyT

@MickyT 나는 그것을 떠나지 만 점수를 넘어갑니다. 내가 달리 할 수있는 최선의 방법은 18 점입니다. : P
BradC

2

; # , 점수 -1163, 비경쟁

나는 이것이 경쟁 할 수 있다고해도 이것이 많은 경쟁이 될 것이라고 생각하지 않습니다.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#

온라인으로 사용해보십시오! 참고 : TIO에는; # 인터프리터가 없으며; # + 만 있습니다.


1

CJam , 47 점

"'#?GyQ2wE(s6&␟JI!gF$u*Aq;0p4BvOKkHLhM"3/{:i~-z+c}%

잘하면 이것에 아무런 문제가 없습니다 ...

하나의 이국적인 문자 (단위 구분 기호, ASCII 31,로 표시됨)와 하나의 반복되는 문자 ( ")를 사용합니다. 더 오래 갈 수 있다고 생각하지만 지금은 그대로 두겠습니다.

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

이 프로그램은 긴 문자열을 가져 와서 길이 3 개의 하위 문자열로 나눕니다. 그런 다음 각 하위 문자열은 블록에 매핑되어 문자를 ASCII 값으로 변환하고 스택의 값을 덤프하고 두 번째의 절대 차이를 취한 다음 첫 번째 결과를 추가 한 다음 최종 결과를 다시 ASCII로 변환합니다. 캐릭터.


1

CJam, 93 점

"g!#$&'()n*+/0134i5689:;<l=>?@ADEwFGHIJKLoMNOPQRSBTUVWXYZ [\]^_`aebcfhjkmdqrstuvxpyz{|}  C"7~%2,.-

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

TidB의 Python answer 에서 영감을 얻었습니다 .
큰 따옴표의 반복을 피할 방법이 있는지 확실하지 않습니다.

설명:

문자열은 8 번째 문자마다 "Cpde Bowling"을 반대로 포함합니다.
7~%"Cpde Bowling"( 7~= -8)을 추출
2,.-하여 p 문자 ( 2,= [0 1])를 감소시킵니다.


@Laikoni 만약 당신이 내가 사용하지 않는 코드 규칙을 어겼다는 것을 의미한다면, 이제 수정되어야합니다
aditsu

@Laikoni 네,하지만 코드에서 단일 문자를 제거하면 제대로 작동하지 않으므로 모든 코드가 사용되므로 유효합니다.
매직 문어 Urn

@carusocomputing이 규칙은 코드가 "개별 문자 (또는 다양한 문자 세트)가 제거 된 경우"작동하지 않아야한다고 명확하게 언급하고 있으므로 해석에 영향이 없다고 생각합니다. 어쨌든, 아디 츠는 이미 문제를 해결 했으므로 이제는 모두 괜찮습니다.
Laikoni 2016 년

1

PHP, 33 포인트

이것은 생각해 내기가 매우 어려웠습니다.

나중에 점수가 입증 될 수 있습니다.

<?echo IHASZODECG9F^"
'%6z\r+2/.W!";

줄 바꿈은 Linux 스타일 줄 바꿈으로 가정됩니다! Windows 스타일과 Old-Mac-Style이 제대로 작동하지 않습니다.


1

루비, 75

대략 파이썬 답변의 포트이지만 Ruby에는 멋진 단계 기능이 없으므로 gsub대신 사용 합니다. 또한 Google Translate에 문구를 던져 이국적인 캐릭터와 약간의 재미를 갖기로 결정했습니다.

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

print"Cachjkmq\x6fvyzADEFdGHIJKLMeNOPQRST UVWXYZ0B234589[o!?-:;]`w~@\#$%^&l*_+=|><i コードゴルフn 代碼保齡球 gκωδικός".gsub /(.).{7}/,'\1'

1

USML, 12 또는 9 포인트 (비경쟁)

"Code\tBowling'

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

이 답변은 HTML 렌더링 방식을 잘못 사용하여 속임수입니다. 이것에 의해 실제로 만들어진 문자열은 "Code\tBowling "입니다. "o"문자를 반복하면 포인트가 사라집니다.

치트가 아닌 답변의 경우 :

"Code Bowling

USML은 아직 개발 초기 단계이며 아직 더 이상 프로그램 크기를 늘릴 수 없습니다.


" USML은 아직 개발 초기 단계이며 아직 더 이상 프로그램 크기를 늘릴 수 없습니다. " 10 점 이것에 대해 무엇 "Code&'Bowling: (* 참고 바꾸기 &줄 휴식과 함께, 그것은 나를 의견을 입력 할 수 없습니다)
알버트 렌쇼

``모든 문자 앞에 백 슬래시``를 추가 할 수 있으며 컴파일러는 무시하거나 문자를 이스케이프 처리하기 때문에 여전히 동일한 문자열을 출력합니다. 이것은 지금 (경쟁) 점수를 11까지 얻습니다!
Albert Renshaw

그런 다음 줄 바꿈과 소문자 s를 다음 줄에 추가하여 (아무것도 아닌 부분 문자열을 가져 와서 출력을 전혀 변경하지 않음) 실제 점수를 제외하고 경쟁 점수와 동일하게 경쟁 점수를 최대 12까지 얻을 수 있습니다. 유효한 제출 : D
Albert Renshaw 5

실제로 여기에 USML의 16 점 답변이 있습니다. 주석에 여러 줄 코드를 입력하기 어렵 기 때문에 hastebin을 게시하겠습니다. hastebin.com/icuguviyax.tex
Albert Renshaw

나는 바보이고 내 자신의 도전에 대한 규칙을 잊어 버렸다. 위 코드의 하위 세트는 여전히 도전을 완료하여 내 대답을 실격시킨다. 으악!
Albert Renshaw

1

큐빅스 , 85

Codeha1spqumtr;$"gnilwoB"Sv"ADEFH%IJK2f!OPUzQ0V3XY&*[-|L:]\T`~#x>MR56cGk'?W<()b4j}.{Z_^/978@

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

무의미한 문자로 대체되어로 대체되었습니다.

        C o d e
        . . . .
        . . u . 
        . . ; . 
" g n i l w o B " S v " . . . .
. . . . . . . ! . . U . . . . .
. . . . . . . L . . \ . . . . .
> . R . . . . . . . W < . . . .
        . . . {
        . . ^ /
        . . . @
        . . . .

문자를 제거하면 경로가 상당히 나빠질 정도로 경로가 깨지기 쉽다고 생각합니다.

달려 봐

- 92 characters long
- repeated alnum:       -3 (o)
- repeated punctuation: -4 ("")
- repeated other:       -0 ()
- whitespace characters:  -0 ()
- exotic characters:  -0 ()

Total score: 85

0

VB.net, 68

cONSOLE.WRITE("Code BowlingADEFGHJKQUVXYZfhjkmpqyz`!@#$%^&*9876543~][{}\|';:<>?+=-_".subStrinG(0,12))

VB의 대소 문자를 구분하지 않고 "시스템"이 필요하지 않은 빠른 테스트.


1
VB.net을 모르지만 이것을 줄일 수 cONSOLE.WRITE("Code Bowling")없습니까?
Laikoni

1
예, 가능합니다. 게시물 당 : 모든 코드를 사용해야합니다. 즉, 개별 문자 (또는 다양한 문자 집합)가 제거 된 경우 프로그램이 항상 작업을 올바르게 완료하지 못하도록해야합니다. 당연히, 프로그램의 일부는 프로그램의 나머지 부분 없이는 스스로 작업을 완료 할 수 없어야합니다. "점수는 17이어야합니다.
charliefox2 17.

@ charliefox2 감사합니다. 나는 그것을 읽지 못했습니다-VB를 다시 사용하기에는 너무 흥분했을 것입니다!
chrixbittinx

1
이봐, 17은 여전히 ​​내 점수 -81을 부 es 버린다!
charliefox2

0

셸 : 17 점

#!/bin/bash
echo "CODE BoWLING" | tr D-X d-x
  • 44 자 길이
  • 반복 된 alnum : -12 (bhoD)
  • 구두점 반복 : -4 ( "-)
  • 다른 반복 : -4 (/)
  • 공백 문자 : -7 ()
  • 이국적인 문자 : -0 ()

총점 : 17


0

Acc !! 171 자

119
Write _-52
Write _-8
Count i while i-2 {
	Write _-19+i
}
32
Write _
_+34
Write _
_+45
Write _
_+8
Write _
_-11
Write _
Count i while i-2 {
	Write 105+i*5
}
_-5
Write _

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

Acc !! 공백이 필요하고 루프가 비싸기 때문에 이러한 과제에 잘 작동합니다. 나는 여기에 Acc umulator를 사용 했지만 문자를 늘리기 위해 열악했습니다. 다음은 페이지의 간략한 개요입니다.

Accumulator자체적으로 표시되는 모든 표현식은 평가기에 누적되어 할당됩니다 (로 액세스 가능 _). 따라서 예를 들어 3은 누산기를 3으로 설정하는 설명입니다. _ + 1은 누산기를 증가시킵니다. _ * N은 문자를 읽고 누산기에 문자 코드를 곱합니다. (N은 입력을 얻습니다)

Write <charcode> 주어진 ASCII / 유니 코드 값을 가진 단일 문자를 stdout으로 출력합니다. 문자 코드는 모든 표현식이 될 수 있습니다.

적어도 골프의 경우 Acc의 루프는 고통입니다. 중괄호가 필요하며 모든 공백이 필요합니다. 그렇지 않으면 설명이 필요 없습니다.


이것은 골프가 아닌 볼링 도전이므로 점수 를 극대화 해야합니다 . 또한 점수가 다른 경우도 있습니다. 위의 점수 매기기 도구를 사용하면 코드가 음수 점수를 얻습니다.
Ørjan Johansen 님이

1
@ ØrjanJohansen 마치 점수를 최대화하려고하는 것처럼 보이지만 ( " 여기 에서 Acc umulator를 사용 했지만 문자 수를 높이기 위해 열악한 결과를 얻었 기 때문에"), 점수를 정확하게 맞추지 못하고 있습니다.
LyricLy

@ ØrjanJohansen 아 네, 점수 섹션을 완전히 놓친 것 같습니다. 업데이트하겠습니다
FantaC
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.