Bir Walsh matrisi , kuantum hesaplamada (ve muhtemelen başka bir yerde, ama sadece kuantum hesaplamalarını önemsiyorum) uygulamalara sahip özel bir kare matris türüdür .
Walsh matrislerinin özellikleri
Boyutlar biz onları çağıran, burada ikinin üs bu matrisleri başvurabilirsiniz nedenle 2'nin aynı güç vardır W(0)
, W(1)
, W(2)
...
W(0)
olarak tanımlanır [[1]]
.
İçin n>0
, W(n)
bakışlar gibi:
[[W(n-1) W(n-1)]
[W(n-1) -W(n-1)]]
Yani W(1)
:
[[1 1]
[1 -1]]
Ve W(2)
:
[[1 1 1 1]
[1 -1 1 -1]
[1 1 -1 -1]
[1 -1 -1 1]]
Desen devam ediyor ...
Senin görevin
Tamsayı girişi yapan n
ve W(n)
uygun herhangi bir formatta basan / geri dönen bir program veya fonksiyon yazın . Bu, bir dizi dizisi, düzleştirilmiş bir boole dizisi, bir .svg
resim olabilir, doğru olduğu sürece adlandırabilirsiniz.
Standart boşluklar yasaktır.
Birkaç şey:
İçin W(0)
, 1
ihtiyaç kez bile sarılmış edilemez. Sadece bir tamsayı olabilir.
1 indeksli sonuçlara izin verilir - W(1)
o zaman olur [[1]]
.
Test durumları
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
Bu kod golf , yani her dilde en kısa çözüm kazanıyor! Mutlu golf!
W(1)
iadeler [[1]]
, W(2)
iadeler [[1,1],[1,-1]
...)