월시 행렬은 광장 매트릭스의 특별한 종류 양자의 응용 프로그램 컴퓨팅 (아마 다른 곳에서하고 있지만, 나는 단지 양자 컴퓨팅에 대한 관심).
월시 행렬의 속성
치수는 우리가 그들을 호출, 여기에 2의 지수 이러한 행렬을 참조 할 수 있습니다, 따라서 2의 동일한 전력이다 W(0)
, W(1)
, W(2)
...
W(0)
로 정의됩니다 [[1]]
.
의 경우 n>0
, W(n)
외모가 좋아 :
[[W(n-1) W(n-1)]
[W(n-1) -W(n-1)]]
그래서 W(1)
:
[[1 1]
[1 -1]]
그리고 W(2)
:
[[1 1 1 1]
[1 -1 1 -1]
[1 1 -1 -1]
[1 -1 -1 1]]
패턴은 계속됩니다 ...
당신의 작업
정수를 입력으로 사용하고 편리한 형식으로 n
인쇄 / 반환 하는 프로그램 또는 함수를 작성하십시오 W(n)
. 이것은 배열의 배열, 평평한 부울의 배열, .svg
이미지 일 수 있습니다. 정확한 한 이미지의 이름을 지정할 수 있습니다.
표준 허점 은 금지되어 있습니다.
몇 가지 사항 :
의 경우 W(0)
는 1
필요가 한번도 포장 할 수 없습니다. 단순한 정수일 수 있습니다.
결과를 1- 색인화 W(1)
할 수 있습니다 [[1]]
.
테스트 사례
0 -> [[1]]
1 -> [[1 1]
[1 -1]]
2 -> [[1 1 1 1]
[1 -1 1 -1]
[1 1 -1 -1]
[1 -1 -1 1]]
3 -> [[1 1 1 1 1 1 1 1]
[1 -1 1 -1 1 -1 1 -1]
[1 1 -1 -1 1 1 -1 -1]
[1 -1 -1 1 1 -1 -1 1]
[1 1 1 1 -1 -1 -1 -1]
[1 -1 1 -1 -1 1 -1 1]
[1 1 -1 -1 -1 -1 1 1]
[1 -1 -1 1 -1 1 1 -1]]
8 ->
Pastebin
이것은 code-golf 이므로 각 언어에서 가장 짧은 솔루션이 승리합니다! 행복한 골프!
W(1)
반환 [[1]]
, W(2)
반환 [[1,1],[1,-1]
...)