태그 보관물: kolmogorov-complexity

kolmogorov-complexity

혼란스러운 알파벳 계단 (대소 문자가 일관성이 있어야 함) . 에이 AB ACBC ADBDCD 에베 세데 AFBFCFDFEF AGBGCGDGEGFG AHBHCHDHEHFHGH AIBICIDIEIFIGIHI AJBJCJDJEJFJGJHJIJ AKBKCKDKEKFKGKHKIKJK ALBLCLDLELFLGLHLILJLKL AMBMCMDMEMFMGMHMIMJMKMLM ANBNCNDNENFNGNHNINJNKNLNMN AOBOCODOEOFOGOHOIOJOKOLOMONO APBPCPDPEPFPGPHPIPJPKPLPMPNPOP AQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQ ARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQR ASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRS ATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTST AUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTU AVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUV AWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVW AXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWX AYBYCYDYEYFYGYHYIYYYKYKYMYYYYYYYYYYYYYYYYYYYYYYY AZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZ 후행

입력이 없으면 허용되는 출력 방법을 통해이 흥미로운 알파벳 패턴을 출력하십시오 (대소 문자가 일관성이 있어야 함) .

에이
AB
ACBC
ADBDCD
에베 세데
AFBFCFDFEF
AGBGCGDGEGFG
AHBHCHDHEHFHGH
AIBICIDIEIFIGIHI
AJBJCJDJEJFJGJHJIJ
AKBKCKDKEKFKGKHKIKJK
ALBLCLDLELFLGLHLILJLKL
AMBMCMDMEMFMGMHMIMJMKMLM
ANBNCNDNENFNGNHNINJNKNLNMN
AOBOCODOEOFOGOHOIOJOKOLOMONO
APBPCPDPEPFPGPHPIPJPKPLPMPNPOP
AQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQ
ARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQR
ASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRS
ATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTST
AUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTU
AVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUV
AWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVW
AXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWX
AYBYCYDYEYFYGYHYIYYYKYKYMYYYYYYYYYYYYYYYYYYYYYYY
AZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZ

후행 공백과 줄 바꿈이 허용되고 표준 허점 이 허용되지 않으며 이것이 이므로 바이트 단위의 최단 답변이 승리합니다!



답변

캔버스 , 7 바이트

Z[K*¹+]

여기 사용해보십시오!

설명:

Z[     ] for each prefix of the uppercase alphabet
    K        pop off the last letter
     *       and join the rest of the string with that character
      ¹+     and append the current iterated character to it


답변

젤리 , 9 바이트

ØAjṪ$Ƥż¹Y

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

작동 원리

ØAjṪ$Ƥż¹Y  Main link. No arguments.

ØA         Yield "ABCDEFGHIJKLMNOPQRSTUVWXYZ".
     Ƥ     Map the link to the left over all prefixes, i.e., ["A", "AB", ...].
    $        Combine the two links to the left into a chain.
   Ṫ           Tail; yield and remove the last letter of each prefix.
  j            Join the remainder, using that letter as separator.
      ż¹   Zip the resulting strings and the letters of the alphabet.
        Y  Separate the results by linefeeds.


답변

C, 82 바이트

f(i,j){for(i=!puts("A");++i<26;puts(""))for(j=0;j++<i*2;)putchar(65+(j&1?j/2:i));}

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


답변

R , 50 바이트

l=LETTERS
for(i in 0:25)cat(l[0:i],"
",sep=l[i+1])

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

아마도 가장 영리한 부분 letters[0]은 빈 문자열을 사용 cat(character(0),'\n',sep="A")하여 첫 번째 줄을 인쇄하는 것입니다.


답변

, 9 바이트

Eα⁺⪫…ακιι

온라인으로 사용해보십시오! 링크는 자세한 버전의 코드입니다. 설명:

 α          Predefined uppercase alphabet
E           Map over each character
    …ακ     Get current prefix of alphabet
   ⪫   ι    Join with current character
  ⁺     ι   Append current character
            Implicitly print on separate lines


답변

파이썬 2 , 56 바이트

n=65;s='';exec'c=chr(n);print c.join(s)+c;s+=c;n+=1;'*26

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


답변

6502 머신 코드 루틴 (C64), 39 바이트

A9 41 20 D2 FF AA A8 84 FB E4 FB B0 0B 8A 20 D2 FF 98 20 D2 FF E8 D0 F1 A9 0D
20 D2 FF A2 41 C0 5A F0 03 C8 D0 E1 60

위치 독립적 인 기계 코드 서브 루틴, 클로버 A, X 및 Y.

온라인 데모

데모는에로드 $C000되므로 SYS49152루틴을 호출하는 데 사용 하십시오.


주석 처리 된 분해 :

A9 41       LDA #$41            ; 'A'
20 D2 FF    JSR $FFD2           ; Kernal CHROUT (output character)
AA          TAX                 ; copy to X (current pos)
A8          TAY                 ; copy to Y (current endpos)
  .outerloop:
84 FB       STY $FB             ; endpos to temporary
  .innerloop:
E4 FB       CPX $FB             ; compare pos with endpos
B0 0B       BCS .eol            ; reached -> do end of line
8A          TXA                 ; current pos to accu
20 D2 FF    JSR $FFD2           ; and output
98          TYA                 ; endpos to accu
20 D2 FF    JSR $FFD2           ; and output
E8          INX                 ; next character
D0 F1       BNE .innerloop      ; (repeat)
  .eol:
A9 0D       LDA #$0D            ; load newline
20 D2 FF    JSR $FFD2           ; and output
A2 41       LDX #$41            ; re-init current pos to 'A'
C0 5A       CPY #$5A            ; test endpos to 'Z'
F0 03       BEQ .done           ; done when 'Z' reached
C8          INY                 ; next endpos
D0 E1       BNE .outerloop      ; (repeat)
  .done:
60          RTS