2012-11-15 5 views
2

가정하자 두 배열 :고유 쌍의 서로 다른 크기의

N0 =: i. 50 
N1 =: i. 500 

그냥 두 가지를 결합, 독특한 쌍을 얻을 수있는 방법이 있어야합니다. 내가 찾은 "가장 단순한"것은 다음과 같습니다 :

]$R =: |:,"2 |: (,.N0) ,"1 0/ N1 
25000 2 

솔직히 말하면, 야구 방망이 솔루션입니다. 이 일을 더 우아한 방법이 있습니까?

답변

2

당신이 도달하고 데이터의 패턴이있다

나는 단지 짧은하지만 예뻐하지 다음 내놓았다했습니다 variation on Catalogue. 이것은 가장 유명한 변형입니다. 사실 : 데카르트 제품입니다.

카탈로그의 어휘 목록에는 데카르트 제품 코드도 있습니다. 원하는 목록을 얻으려면 방금 소리를 내고 결과를여십시오.

pair=: >@ ,@ { @(,&<) 

    $ N0 pair N1 
25000 2 
+0

나는 13 : '>, {x; y''로 광산을 썼다. 나는'@'을 어떻게 사용하는지 결코 확신하지 못한다. – MPelletier

+0

긴 구성의 간단한 구성이있는 경우이 경우처럼 명시 적 형식이 좋습니다. Explicit의 왼쪽 인수로 13보다는 4를 사용하는 것이 좋습니다. 부분적으로이 동사가 이항이라는 것을 강조하기 위해 또한 13이 완전히 신뢰할 수 없기 때문에 13을 사용하는 것이 좋습니다. 생산을위한 것이 아닌 탐사에 적합합니다. – kaleidic

1

나는 똑같은 것을 찾고있다.

,/(N0 ,. ])"0 N1 

;(N0 ,. ]) &.> N1 

또는 형태

가 :

;N0&,.&.>N1 
+0

나쁘지 않습니다. 나는 트위터 (우리의 제 3 회 J 레귤레이터)에서 kaleidic과 이야기를 나눴고, 나중에 재미있는 대답을 할 것이다. 나는 그것을 여기에 망치고 싶지 않다 :) – MPelletier

+1

(twee에서 P다) Duh! 목록! 그것은 당신이 그것을 알 때 명백하다 ... :) – Eelvex

관련 문제