Wise bir süre önce tasarladığım basit bir bitsel dildir. Python'un bitsel işlemlerine dayanır . Birçok işlemi vardır, bunların çoğu Python'daki eşdeğer sembolle aynı veya çok benzerdir.
:
Yığının üstünü çoğalt?
Yığının üstünü alta döndür!
Yığının altını yukarı döndür[
]
yığının üst kısmı sıfır değilken döngü~
yığının üstü değil (-(n+1)
)-
yığının üst kısmını (-n
)>
bits yığınının üst kısmını bir kez sağa kaydır (n//2
)<
bits yığınının üst kısmını bir kez sola kaydır (n*2
)^
veya yığının ilk iki öğesi ( Python ile aynı )|
veya yığının ilk iki öğesi ( Python ile aynı )&
ve yığının ilk iki öğesi ( Python ile aynı )
Wise'da bir tamsayı yapmak oldukça basittir, sıfırla yapabilir ::^
ve artırabilirsiniz , ~-
böylece sıfır yapar ve bir sürü kez arttırabilirsiniz. Ancak -
işleri kaldırırsak biraz daha ilginç hale gelir.
Kalan işlemleri kullanarak her sayıyı yapmaya devam edebiliriz. Örneğin burada 3
~<<~
Bu eserler nedeniyle ~
dönüşler, sonsuz dize sıfır 0
negatif biri, sonsuz dizeye bit, 1
bit, her <
bir ekler 0
yaptığımız yapılır sonuna kadar biraz ~
dizgesi olarak her döner hangi 0
iki izledi s 1
s veya çoğu insanın dediği gibi 3.
Görev
Pozitif bir tamsayı verildiğinde , kaynağında n
herhangi bir sayı oluşturmadan akıllıca bir program çıkaran bir program yazın -
(çıktının -
kaynağı, kendi kaynağınızda kullanabilirsiniz). Yığının üstünde zaten bir sıfır olduğunu varsayabilirsiniz.
Bu kod-golf meta -golf değil, bu yüzden mutlaka kaynak üretmek değil kaynak kodunu en aza indirmeyi amaçlamalısınız .
Örnek çıktılar
Bu liste ayrıntılı değildir, sadece olası çıktılardır
1 -> ~<~
2 -> ~<~<
3 -> ~<<~
4 -> ~<~<<
5 -> ~<~:<<|
6 -> ~<<~<
7 -> ~<<<~
8 -> ~<~<<<
9 -> ~<~:<<<|
10 -> ~<~:<<|<
11 -> ~<<~:><<<|
12 -> ~<<~<<
13 -> ~<<~:<<<|>
14 -> ~<<<~<
15 -> ~<<<<~
16 -> ~<~<<<<
:
boş bir istif üzerine uygulanan a 0
. Bence bu belirtilmelidir, çünkü boş bir desteden çoğaltmanın vermesi gerektiği belli değildir0
positive integers