6 bayt için teşekkürler Martin!
1="/}.!+/M8;
Expanded:
1 = "
/ } . !
+ / M 8 ;
. . . .
. . .
Çevrimiçi deneyin
Eski cevap Bu, görüntülerin ve açıklamaların yeni Hexagony kullanıcıları için yararlı olabileceği için bırakılmıştır.
!).={!/"*10;$.[+{]
Expanded:
! ) .
= { ! /
" * 1 0 ;
$ . [ +
{ ] .
Bu, yeni satırlarla ayrılmış Fibonacci dizisini yazdırır.
Çevrimiçi deneyin! Yine de dikkatli olun, çevrimiçi tercüman sonsuz çıktıdan hoşlanmıyor.
açıklama
Bu program için iki "alt program" vardır, her biri kullanılan iki IP'den biri tarafından çalıştırılır. İlk rutin yeni satırları yazdırır, ikincisi Fibonacci hesaplama ve çıktısını yapar.
İlk alt yordam ilk satırda başlar ve süre boyunca sağdan sola hareket eder. Önce bellek göstergesindeki değeri yazdırır (sıfır olarak başlatılır) ve ardından bellek göstergesindeki değeri arttırır 1
. İşlemden sonra, IP önce başka bir bellek hücresine geçiş yapan üçüncü bir satıra atlar, sonra yeni bir satır yazdırır. Bir yeni satır pozitif bir değere sahip olduğundan (değeri 10), kod her zaman sonraki beşinci satıra atlayacaktır. Beşinci satır, hafıza göstergesini Fibonacci numaramıza döndürür ve ardından diğer alt rutine geçer. Bu alt rutinden geri döndüğümüzde, IP bir no-op uyguladıktan sonra üçüncü satıra geri dönecektir.
İkinci alt program sağ üst köşeden başlar ve Güneydoğu'ya doğru hareket etmeye başlar. Bir ameliyattan sonra, ikinci hat boyunca Batı'ya yolculuk etmek için sıçradık. Bu satır, bellek işaretçisini bir sonraki konuma taşımadan önce mevcut Fibonacci numarasını yazdırır. Ardından IP, önceki ikiyi kullanarak bir sonraki Fibonacci sayısını hesapladığı dördüncü satıra atlar. Daha sonra, ilk alt rutine geri kontrol verir, ancak programın kontrolünü yeniden ele geçirdiğinde, ikinci çizgiye geri döndüğü sırada, başlangıçta Batı'yı işaret etmek için kullanılan ayna üzerinde zıpladığı yere kadar bir sıçrama ile karşılaşıncaya kadar devam eder.
Ön Güzel Resimler!
Resmin sol tarafı programdır, sağ tarafı hafızayı temsil eder. Mavi kutu ilk IP'dir ve her iki IP de yürütülecek bir sonraki talimatı gösterir.
Not: Resimler yalnızca resim düzenleme programları ile benzer şekilde sınırlı becerilere sahip kişilerce görülebilir: PI, *
operatörün kullanımının daha net olması için en az 2 yineleme daha ekleyecektir .
Not 2: Sadece en çoğunu yazdıktan sonra alephal'ın cevabını gördüm , ayrılma nedeniyle hala değerli olduğunu düşündüm, ancak programlarımızın gerçek Fibonacci bölümleri çok benzer. Ayrıca, bu, birden fazla IP kullandığımda gördüğüm en küçük Hexagony programı, bu yüzden yine de saklamanın iyi olacağını düşündüm: P
^2
yerine ikame olarak bile düşünmezdim0,1
. +1