이진 숫자 마술


28

도전은 간단하다. 다음 6 개의 2D 정수 배열을 출력합니다.

[[ 1, 11, 21, 31, 41, 51],
 [ 3, 13, 23, 33, 43, 53],
 [ 5, 15, 25, 35, 45, 55],
 [ 7, 17, 27, 37, 47, 57],
 [ 9, 19, 29, 39, 49, 59]]

[[ 2, 11, 22, 31, 42, 51],
 [ 3, 14, 23, 34, 43, 54],
 [ 6, 15, 26, 35, 46, 55],
 [ 7, 18, 27, 38, 47, 58],
 [10, 19, 30, 39, 50, 59]]

[[ 4, 13, 22, 31, 44, 53],
 [ 5, 14, 23, 36, 45, 54],
 [ 6, 15, 28, 37, 46, 55],
 [ 7, 20, 29, 38, 47, 60],
 [12, 21, 30, 39, 52]]

[[ 8, 13, 26, 31, 44, 57],
 [ 9, 14, 27, 40, 45, 58],
 [10, 15, 28, 41, 46, 59],
 [11, 24, 29, 42, 47, 60],
 [12, 25, 30, 43, 56]]

[[16, 21, 26, 31, 52, 57],
 [17, 22, 27, 48, 53, 58],
 [18, 23, 28, 49, 54, 59],
 [19, 24, 29, 50, 55, 60],
 [20, 25, 30, 51, 56]]

[[32, 37, 42, 47, 52, 57],
 [33, 38, 43, 48, 53, 58],
 [34, 39, 44, 49, 54, 59],
 [35, 40, 45, 50, 55, 60],
 [36, 41, 46, 51, 56]]

이 2D 정수 배열은 무엇입니까? 다음은이 숫자가 포함 된 카드로 마술에 사용되는 숫자입니다.

여기에 이미지 설명을 입력하십시오

마술은 누군가에게 [1, 60] 범위의 숫자를 생각하도록 요구하고, 마술을 수행하는 사람에게이 숫자를 포함하는 모든 카드를줍니다. 마술을 수행하는 사람은 주어진 카드의 왼쪽 위 숫자 (2의 거듭 제곱)를 합하여 사람이 생각한 숫자에 도달 할 수 있습니다. 이것이 왜 작동하는지에 대한 추가 설명은 여기를 참조하십시오

도전 규칙 :

  • 6 개의 2D 정수 배열을 적절한 형식으로 출력 할 수 있습니다. 구분 기호로 인쇄 할 수 있습니다. 6 개의 2D 정수 어레이를 포함하는 3D 정수 어레이 일 수 있고; 줄의 문자열 목록이 될 수 있습니다. 기타
  • 2D 정수 배열을 직사각형 행렬로 만들지 않고 마지막 네 카드의 오른쪽 아래 위치를 범위 [-60, -1]또는 문자 에서 음수 값 '*'으로 채울 수 있습니다 (아니오, 채울 수 0없음) 별이 실제 카드에도 사용되기 때문에 예외와 같은 -integer null/ undefined대안 *.
  • 행렬의 숫자 순서는 필수입니다. 물리적 마술에 대해서는 중요하지 않지만,이 도전은 주로 - 으로 간주 되므로 순서가 제한됩니다.
    출력 목록에서 행렬 자체의 순서는 어떤 순서로도 가능합니다. 왼쪽 상단 카드에서 어떤 행렬이 어떤 것인지 명확하기 때문입니다.

일반적인 규칙:

  • 이것은 이므로 바이트 단위의 최단 답변이 이깁니다.
    코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오.
  • 표준 규칙기본 I / O 규칙으로 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 반환 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다. 당신의 전화.
  • 기본 허점 은 금지되어 있습니다.
  • 가능하면 코드 테스트와 링크를 추가하십시오 (예 : TIO ).
  • 또한 답변에 대한 설명을 추가하는 것이 좋습니다.

관련. (이것은 동일한 마술을 언급하지만 실제로이 도전에 대한 영감을 얻는 데 유용하지는 않습니다. 그 도전은 숫자 nk'th card'에 표시 되는지 여부에 대한 진실 / 거짓 값을 출력하도록 요구합니다 . KC- 도전으로 6 개의 행렬을 출력합니다.)
Kevin Cruijssen

1
@DigitalTrauma 흠, 이것이 실제로 복제본인지 확실하지 않습니다. 왜냐하면 도전 과제는 ascii-art (태그는 없지만 태그가 붙어 있지 않음) 이기 때문에 더 관대 한 형식으로 배열을 출력 할 수 있기 때문입니다. (기본적으로 동일한 네 가지 방법이 아님). 망치가있어서 다시 열겠다고 투표 할 수 없습니다.
Outgolfer Erik

@EriktheOutgolfer Woops .. 나도 망치를 가지고 잊어 버렸다.>.> 망치를 닫거나 열 수 있다는 것은 꽤 성가시다. 그러나 누군가가 다시 닫으려고한다면 괜찮습니다. 그의 도전은 실제로[ascii-art] (및 행 / 열이 교환되며, 범위는 나의 매우 유연 엄격한 (MD5) 출력 규칙과 도전 [1,60]대신 [1,63], 여전히 아주 작은 차이지만).
Kevin Cruijssen

"이것은 나의 소중한 도전입니다!"라는 태도로 VTRO를 시도하지 않은 것 같습니다. 적어도 ... : P
Outgolfer Erik

1
나도 망치를 잊었다. 나는 여전히 이것이 듀프에 투표하기에 충분하다고 생각하지만, 커뮤니티가 다시 열리면 커뮤니티의 지혜를 연기 할 것입니다.
Digital Trauma

답변:


6

MATL , 12 11 바이트

마스터 자신 덕분에 -1 바이트 :)

60:B"@fQ6eq

설명:

60:           % create a vector [1,2,3,...,60]
   B          % convert to binary matrix (each row corresponds to one number)
    "         % loop over the columns and execute following commands:
     @f       % "find" all the nonzero entries and list their indices
       Q      % increment everything
        6e    % reshape and pad with a zero at the end
          q   % decrement (reverts the increment and makes a -1 out of the zero
              % close loop (]) implicitly
              % display the entries implicitly

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



7

파이썬 2 , 76 바이트

r=range;print[[[i for i in r(61)if i&2**k][j::5]for j in r(5)]for k in r(6)]

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

여기서 가능한 방법은 가능한 모든 숫자 r(61)의 목록을 만든 다음 카드의 숫자 목록으로 정리하는 것입니다 i&2**k.

그런 다음 목록 슬라이싱을 사용하여 해당 1D 숫자 목록이 올바른 6x5 카드 크기로 다시 정렬됩니다 [card nums][j::5]for j in r(5).

그런 다음이 생성기는 6 카드에 대해 반복됩니다. for k in r(6) .


76 바이트 미만의 솔루션을 찾을 수 없지만 76 바이트 인 다른 두 가지 솔루션이 있습니다.

r=range;print[[[i for i in r(61)if i&1<<k][j::5]for j in r(5)]for k in r(6)]

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

다음은 Jonathan Allan에서 영감을 얻은 것입니다 .

k=32
while k:print[[i for i in range(61)if i&k][j::5]for j in range(5)];k/=2

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

모든 의견을 높이 평가합니다.


6

, 26 바이트

E⁶E⁵⪫E⁶§⁺§⪪Φ⁶¹&πX²ι⁵ν⟦*⟧λ 

온라인으로 사용해보십시오! 링크는 자세한 버전의 코드입니다. 항목을 직접 계산하려고 시도했지만 *오른쪽 하단에서 조정하기 전에 이미 27 바이트였습니다 . 공백으로 연결된 각 행과 카드 사이에 빈 줄을 출력합니다. 설명:

E⁶                          Loop over 6 cards
  E⁵                        Loop over 5 rows
     E⁶                     Loop over 6 columns
           Φ⁶¹              Filter over 0..60 where
               π            Current value
              &             Bitwise And
                 ²          Literal 2
                X           Raised to power
                  ι         Card index
          ⪪        ⁵        Split into groups of 5
         §          ν       Indexed by column
        ⁺                   Concatenated with
                      *     Literal string `*`
                     ⟦ ⟧    Wrapped in an array
       §                λ   Indexed by row
    ⪫                       Joined with spaces
                            Implicitly print

*실제 카드에서 별을 본 후 재미 에 대한 규칙을 추가했습니다 . 그것을 사용하는 언어가 있는지 궁금해했지만 적어도 하나는 기뻤습니다. :) 좋은 답변!
Kevin Cruijssen

1
@KevinCruijssen Charcoal에는 조옮김 연산자가 없으며 가장 골치 아픈 조옮김에는 알려진 크기의 직사각형 배열이 필요하므로 크기를 구성하기 위해 무언가를 추가해야 *하며 적어도 다른 것만 큼 짧습니다.

나는 이것이 26 바이트라고 생각하지 않습니다 ...
Tvde1

이 사이트의 많은 esolang과 마찬가지로 @ Tvde1 Charcoal은 사용자 정의 코드 페이지를 사용합니다. 해당 페이지의 문자는 1 바이트이며 다른 문자는 최대 4 바이트입니다.
Neil

6

05AB1E , 16 바이트

60L2вíƶ0ζε0K5ô®ζ

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

설명

60L                 # push [1 ... 60]
   2в               # convert each to a list of binary digits
     í              # reverse each
      ƶ             # multiply each by its 1-based index
       0ζ           # transpose with 0 as filler
         ε          # apply to each list
          0K        # remove zeroes
            5ô      # split into groups of 5
              ®ζ    # zip using -1 as filler

05AB1E , 17 바이트

6F60ÝNoôāÈϘ5ô®ζ,

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

설명

6F                  # for N in [0 ... 5] do
  60Ý               # push [0 ... 60]
     Noô            # split into groups of 2^N numbers
        āÈÏ         # keep every other group
           ˜        # flatten
            5ô      # split into groups of 5
              ®ζ    # transpose with -1 as filler
                ,   # print

5

껍질 , 13 바이트

ṠMöTC5Wnünḣ60

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

설명

          ḣ60  Range [1..60]
        ü      Uniquify using equality predicate
         n     bitwise AND: [1,2,4,8,16,32]
 M             For each number x in this list,
Ṡ     W        take the indices of elements of [1..60]
       n       that have nonzero bitwise AND with x,
    C5         cut that list into chunks of length 5
  öT           and transpose it.


5

apt , 14 바이트

6Æ60õ f&2pX)ó5

시도 해봐

6Æ              Create a range from 0 to 5 (inclusive) and map each X into
  60õ             Elements in the range [1..60]
      f             Where
       &2pX)          The number bitwise AND with X is not 0
  ó5              Split into 5 arrays, where each array contains every 5th element

-Q flag is just for formatting purposes

4

자바 스크립트 (ES6),  90  88 바이트

_=>[1,2,4,8,16,32].map(n=>(g=i=>i<60?g(++i,i&n?m[y%5]=[...m[y++%5]||[],i]:0):m)(y=m=[]))

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

댓글

_ =>                        // anonymous function taking no argument
  [1, 2, 4, 8, 16, 32]      // list of powers of 2, from 2**0 to 2**5
  .map(n =>                 // for each entry n in this list:
    ( g = i =>              //   g = recursive function taking a counter i
      i < 60 ?              //     if i is less than 60:
        g(                  //       recursive call:
          ++i,              //         increment i
          i & n ?           //         if a bitwise AND between i and n is non-zero:
            m[y % 5] =      //           update m[y % 5]:
            [ ...m[y++ % 5] //             prepend all previous values; increment y
              || [],        //             or prepend nothing if it was undefined so far
              i             //             append i
            ]               //           end of update
          :                 //         else:
            0               //           do nothing
        )                   //       end of recursive call
      :                     //     else:
        m                   //       return m[]
    )(y = m = [])           //   initial call to g with i = y = m = []
                            //   (i and y being coerced to 0)
  )                         // end of map()


4

C (gcc) , 95 바이트

i,j,k;f(int o[][5][6]){for(i=6;i;)for(o[--i][4][5]=j=k=-1;j<60;)++j&1<<i?o[i][++k%5][k/5]=j:0;}

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

행렬을 o의 3D int 배열로 반환합니다.

마지막 4 개의 행렬은 마지막 값으로 -1을 갖습니다.

Kevin Cruijssen 덕분에 2 바이트를 절약했습니다.

Arnauld 덕분에 7 8 바이트를 절약했습니다 .


대괄호를 제거 할 수 있도록 로 변경 o[i][4][5]=-1;for(j=k=0;하여 2 바이트를 절약 for(o[i][4][5]=-1,j=k=0;할 수 있습니다. 좋은 답변 btw, 나에게서 +1.
Kevin Cruijssen


(올바른 치수로 할당 된 3D 어레이를 전달하는 것이 허용되는지 100 % 확신 할 수는 없습니다. 그러나 일반 C 골퍼가 이에 대해 더 나은 통찰력을 제공하도록하겠습니다.)
Arnauld

@Arnauld 나는 그것에 대해 생각하고 있었지만 그것에 대해 결정했습니다.
Matej Mulej

#include그것없이 작동한다는 것을 보여주는 것이 좋습니다.
ASCII 전용

3

CJam (18 바이트)

6{61{2A#&},5/zp}fA

온라인 데모 . 이것은 stdout으로 출력되는 전체 프로그램입니다.

해부

6{             }fA    # for A = 0 to 5
  61{2A#&},           #   filter [0,61) by whether bit 2^A is set
           5/z        #   break into chunks of 5 and transpose to get 5 lists
              p       #   print

3

젤리 , 13 바이트

60&ƇⱮs€5LÐṂZ€

(6) 정수 목록의 목록을 생성하는 niladic Link. ( *필러 가 없거나 음 의 기본 옵션을 사용하여 출력합니다 .)

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

방법?

각 행렬에는 열 주요 순서로 최대 숫자가 포함됩니다.60 집합의 단일 세트 비트를 왼쪽 위 (최소) 숫자와 공유하는 개의 숫자가 포함됩니다.

60[1,60]5

60&ƇⱮs€5LÐṂZ€ - Link: no arguments
60            - set the left argument to 60
    Ɱ         - map across ([1..60]) with:  (i.e. [f(60,x) for x in [1..60]])
   Ƈ          -   filter keep if:  (N.B. 0 is falsey, while non-zeros are truthy)
  &           -     bitwise AND
      €       - for each:
     s 5      -   split into chunks of five
         ÐṂ   - keep those with minimal:
        L     -   length
           Z€ - transpose each

"5로 나눌 때 최소 길이"트릭을 실현하지 않은 15 초

5Ż2*Ɱ60&ƇⱮs€5Z€
6µ’2*60&Ƈ)s€5Z€
60&ƇⱮ`LÞḣ6s€5Z€

... 더 짧게 찾으려고 노력하면서 트릭을 전혀 필요로하지 않고 13을 더 얻었습니다.

60B€Uz0Ts5ZƊ€

3

Wolfram Language (Mathematica) , 88 바이트

Transpose@Partition[#~Append~-1,5]&/@Last@Reap[Sow[,NumberExpand[,2]]~Do~{,60},Except@0]

TIO 링크를 추가 할 자유를 얻었습니다 ( @ J42161217 의 답변에 따라). 나에게서 +1
Kevin Cruijssen


@ Mr.Xcoder 감사합니다. 이 ~트릭을 한곳에서 사용 하고 변수 k를 로 대체 했습니다 Null. 죄송합니다. 티오 링크를 추가 할 시간이 없습니다.
Bruno Le Floch

2

Wolfram Language (Mathematica) , 99 바이트

Transpose@Partition[#~FromDigits~2&/@Last@GatherBy[{0,1}~Tuples~6,#[[-k]]&],5]~Table~{k,6}/. 61->-1

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


다음과 같은 방법으로 몇 가지 문자를 저장할 수 있습니다 일을 Transpose@대신 Transpose[...]; 파티셔닝 전에 30 개 항목까지 채움; Table[...,{k,6}]필요를 피하기 위해 사용 k=#.
Bruno Le Floch

@Bruno Le Floch Table은 1 바이트를 절약 할 수 있습니다. transpose @를 시도 했습니까? 주의 깊게 보면 작동하지 않기 때문입니다. 나는 afk이지만 나중에 골프
J42161217

죄송합니다, Transpose@당신이 이동 한 후 작동 PadRight내부 Partition. 또 다른 의견은 질문이 ""자리 표시자를 허용하지 않는 것입니다 . -1바이트를 잃지 않고 교체 할 수 있습니다 .
Bruno Le Floch


2

R , 73 바이트

`!`=as.raw;lapply(0:5,function(i)matrix(c((a=1:60)[(!a&!2^i)>0],-1),5,6))

기본적으로 R은 행렬을 열로 채우므로 카드에 실제로 나타나는 순서는 행렬이 R에 할당되는 방식과 동일하므로 순서에 대한 요구 사항을 충족했는지 확실하지 않습니다.

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


출력이 좋아 보인다. 그리고 R이 거의 모든 다른 언어와 마찬가지로 열 앞 행 대신 행 앞 열로 행렬을 채우면이 도전에 사용하기에 좋은 프로그래밍 언어라는 것을 의미합니다. :)
Kevin Cruijssen

2

T-SQL, ( 1,168 1,139 바이트)

나는 단지 내가 할 수 있다는 것을 알고 싶었다.

최적화 된 버전

 WITH g AS(SELECT 1 AS n UNION ALL SELECT n+1 FROM g WHERE n+1<61),B as(SELECT cast(cast(n&32 as bit)as CHAR(1))+cast(cast(n&16 as bit)as CHAR(1))+cast(cast(n&8 as bit)as CHAR(1))+cast(cast(n&4 as bit)as CHAR(1))+cast(cast(n&2 as bit)as CHAR(1))+cast(cast(n&1 as bit)as CHAR(1))as b FROM g),P as(SELECT * from (values(1), (2), (4), (8), (16), (32)) as Q(p)),S as(select distinct p,p+(substring(b,6,1)*1)*(case when p=1 then 0 else 1 end)+(substring(b,5,1)*2)*(case when p=2 then 0 else 1 end)+(substring(b,4,1)*4)*(case when p=4 then 0 else 1 end)+(substring(b,3,1)*8)*(case when p=8 then 0 else 1 end)+(substring(b,2,1)*16)*(case when p=16 then 0 else 1 end)+(substring(b,1,1)*32)*(case when p=32 then 0 else 1 end)as e from P cross apply B),D as(select * from S where e>=p and e<61),R as(select p,(row_number()over(partition by p order by cast(e as int)))%5 as r,e from D),H as(select k.p,'['+stuff((select','+cast(l.e as varchar)from R l where l.p=k.p and l.r=k.r for xml path('')),1,1,'')+']'as s from R k group by k.p,k.r)select stuff((select','+cast(x.s as varchar)from H x where x.p=z.p for xml path('')),1,1,'')from H z group by z.p

온라인 데모

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

장황한 버전-SQL 주석으로 메모와 함께

WITH gen -- numbers 1 to 60
AS (
    SELECT 1 AS num
    UNION ALL
    SELECT num+1 FROM gen WHERE num+1<=60
),
BINARIES -- string representations of binaries 000001 through 111111
as (
SELECT 
    +cast( cast(num & 32 as bit) as CHAR(1))
    +cast( cast(num & 16 as bit)  as CHAR(1))
    +cast( cast(num & 8 as bit)  as CHAR(1))
    +cast( cast(num & 4 as bit)  as CHAR(1))
    +cast( cast(num & 2 as bit)   as CHAR(1))
    +cast(cast(num & 1 as bit)  as CHAR(1)) as binry FROM gen
),
POWERS -- first 6 powers of 2
as (
SELECT * from (values(1), (2), (4), (8), (16), (32)) as Q(powr)
),
SETELEMENTS -- cross apply the six powers of 2 against the binaries
-- returns 2 cols. col 1 = the power of 2 in question.
-- col 2 is calculated as that power of 2 plus the sum of each power of 2 other than the current row's power value, 
-- but only where a given power of 2 is switched "on" in the binary string, 
-- ie. where the first digit in the string represents 32, the second represents 16 and so on. 
-- That is, if the binary is 100100 then the number will be 
-- the sum of (32 x 1) + (16 x 0) + (8 x 0) + (4 x 1) + (2 x 0) + (1 x 0) 
-- but if the current row's power is 32 or 4, then just that number (32 or 4) is excluded from the sum.
-- rows are distinct.
as (
select distinct powr,
powr+
 (substring(binry,6,1) * 1) * (case when powr = 1 then 0 else 1 end)
 +(substring(binry,5,1) * 2) * (case when powr = 2 then 0 else 1 end)
 +(substring(binry,4,1) * 4) * (case when powr = 4 then 0 else 1 end)
 +(substring(binry,3,1) * 8) * (case when powr = 8 then 0 else 1 end)
 +(substring(binry,2,1) * 16) * (case when powr = 16 then 0 else 1 end)
 +(substring(binry,1,1) * 32) * (case when powr = 32 then 0 else 1 end) as elt
from POWERS cross apply BINARIES
),
DISTINCTELEMENTS -- purge calculated numbers smaller than the power of 2 or greater than 60
as (
select * from SETELEMENTS where elt >= powr and elt < 61
)--,
,
ROWNUMBERED -- for each power, number the rows repeatedly from 0 through 5, then back to 0 through 5 again, etc
as (
select powr, (row_number() over (partition by powr order by cast(elt as int)))%5 as r, elt  from DISTINCTELEMENTS
),
GROUPEDSETS -- for each row number, within each power, aggregate the numbers as a comma-delimited list and wrap in square brackets - the inner arrays
as (
select r1.powr, '['+stuff((select ',' + cast(r2.elt as varchar) from ROWNUMBERED r2 where r2.powr = r1.powr and r2.r = r1.r for xml path('')),1,1,'')+']' as s
from ROWNUMBERED r1
group by r1.powr,r1.r
)
select -- now aggregate all the inner arrays per power
stuff((select ',' + cast(g2.s as varchar) from GROUPEDSETS g2 where g2.powr = g1.powr for xml path('')),1,1,'')
from GROUPEDSETS g1
group by g1.powr

짜잔!

참고 1 : 일부 논리는 대괄호와 쉼표를 렌더링하는 것과 관련이 있습니다.

참고 2 : 최신 버전의 SQLServer에는 쉼표로 구분 된 목록을 만드는보다 간단한 방법이 있습니다. (이것은 SQL Server 2016에서 만들어졌습니다.)

참고 3 : 주어진 카드의 배열은 정렬되지 않습니다 (사양에 따라 정상). 배열 내의 숫자가 올바르게 정렬되었습니다. 이 경우 질문의 각 "카드"는 결과에서 별도의 행에 배열을 렌더링합니다.

어레이를 더 짧게 코딩 하시겠습니까?

예.

바이트.


Jeez, 결과를 하드 코딩하는 것이 더 짧지 않습니까?
조 왕

하하. 재미 있거나 확장 할 수 없습니다.
youcantryreachingme

나는 완전히 이해하지 못한다. 당신은 당신의 솔루션이 우연히 작동한다고 말하고 있습니까?
Jonathan Frech

@JonathanFrech-언어 순서에 따라 암시 적 조건이있을 수 있지만 숫자 순서를 명시 적으로 코딩하지 않았습니다. 올바른 오름차순으로 렌더링됩니다. 별도로 게시 한 후 데이터가 표시되는 방법을 이해하지 못했음을 알았습니다 (카드 당 단일 세트가 아닌 카드 당 스트라이프 배열로). 그러므로 아직 그 문제를 해결하지 못했습니다. 따라서 결과는 현재 6 개의 예상 세트 각각 내에서 올바른 숫자를 오름차순으로 렌더링합니다 (연결된 SQL 바이올린 참조). 여전히해야 할 일 : 세트를 각각 5 개의 하위 세트로 나눕니다.
youcantryreachingme

귀하의 노력에 감사하지만 해결책이 정확하지 않은 경우 해결하거나 게시물을 삭제하십시오. 우리는 일반적으로 남아있는 답변에 대한 잘못된 답변을 허용하지 않습니다.
Jonathan Frech




1

MATLAB, 155 바이트

cellfun(@disp,cellfun(@(x)x-repmat(62,5,6).*(x>60),cellfun(@(x)reshape(find(x,30),[5 6]),mat2cell(dec2bin(1:62)-48,62,ones(1,6)),'Uniform',0),'Uniform',0))

이것은 여러 줄로 짧아 질 수 있지만 한 줄의 코드로하고 싶었습니다.


1
테스트 코드 로 TIO 링크 를 추가 하여 출력을 확인할 수 있습니까?
Kevin Cruijssen

1

05AB1E , 14 바이트

žOε60LDNo&ĀÏ5ι

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


1
žO그냥 대신에 6L? 나는 당신이 당신의지도에서 그것들을 사용하지 않는다는 것을 알고 있지만, 왜 당신이 aeiouy6 값을 가진 목록을 만드는 데 사용했는지 궁금 합니다. xD Nice answer, btw!
Kevin Cruijssen

1
@KevinCruijssen 아니오 특별한 이유는, 난 그냥보다 더 재미라고 생각 6L, , , , 또는 9!.
그리미

확실히 내 눈을 사로 잡았습니다. ;)
Kevin Cruijssen

난 그냥 실현 @KevinCruijssen тœ, ₅œ, ₁œ, 또한 작업, 그 꽤 너무 멋진 (:
그리미

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.