Recamán'ın sırasını ASCII ile çizin


12

Recamán dizisi ( A005132 ) şu şekilde tanımlanan bir matematik dizisidir:

A(n)={0if n=0A(n1)nif A(n1)-n pozitif ve sıraya girmemişbir(n-1)+naksi takdirde

Alternatif, daha basit bir sözlü açıklama aşağıdaki gibidir:

Yapamazsanız (sayı negatifse veya daha önce kullanılmışsa) çıkartın, bu durumda ekleyin.

İlk birkaç terim 0,1,3,6,2,7,13,20,12,21,11

Şimdi, dizinin th terimini oluşturmanızı isteyen bu zorluk zaten var n. Bu biraz farklı.

Meydan okuma

Bir sayı verildiğinde , dizinin nilk nterimlerini çizin . 'Beraberlik' ile ne demek istiyorum? Göstereyim:

  1. Uzunluğunda bir sayı satırı max([A(y) for y<=n])birimi çizin . nŞimdilik 5 olduğunu varsayacağız , bu yüzden sayı satırı 6 birim uzunluğunda ( bir(1)=0 , bir(2)=1 , bir(3)=3 , bir(4)=6 ve bir(5)=2 , 6 ). 0'dan başlayarak çizgiyi alt çizgilerden yapın:

______

  1. Birinci ve ikinci terimler arasındaki geçişle başlayın: yani 0 ve 1. Yukarı doğru ilerleyerek bir kare (eşit uzunluk ve yükseklik) çizmek için |ve -düğmelerini kullanın . Bu durumda, mesafeyi sadece 1 olduğu için kaçırmamız gerekecek .-
||
______
  1. Şimdi, bir sonraki adıma geçeceğiz ( bir(2)=1 ila bir(3)=3çizginin altındaki bir = 3 )her seferinde yukarı ve aşağı arasında değişiyoruz):
||
______
 | |
 |-|

Gördüğünüz gibi, bu çizgi de 2 yüksekliğe sahiptir, çünkü yükseklik iki terim arasındaki mesafeye eşit olmalıdır.

Devam edersek, sonunda:

   |--|
   |  |
|| |  |
______
 |||  |
 |||  |
  |   |
  |---|

kurallar

  • Bir -ve |çarpışma varsa, daha sonra öncelik verilir.
  • Önceki / sondaki olabilir Görüntüden önce / sonra boşluklar , ancak sondaki / önündeki _s veya s'lere -izin verilmez (istisna 0- veya 1- indeksleme)
  • 0 noktasını _sayı satırında birinciden hemen önce veya hemen sonra ayarlamayı seçebilirsiniz .
  • İçin alternatif karakter yok - , |ya da _kullanılabilir.
  • Bu , bayt en kısa cevap kazanır.

Test durumu

İşte başka bir test örneği, n=10

            |-------|
            ||-----||
            ||     ||
  |----|    ||     ||
  |    |    ||     ||
  ||--||    ||     ||
  ||  ||    ||     ||
||||  ||    ||     ||
_____________________
 |||  ||   |||     ||
 |||  ||   |||     ||
  |   ||   |||     ||
  |---||   |||     ||
       |   |||     ||
       |---|||     ||
           ||------||
           |--------|

Karenin sol kenarının nereye yerleştirileceği açık değildir.
Daniil Tutubalin

@DaniilTutubalin Ne demek istediğini anladığımdan emin değilim.
Geza Kerecsenyi

temel olarak, deyim yalnızca kareler çizmemiz gerektiğini (width = height) ve bunların yukarı ve aşağı arasında değişmesi gerektiğini belirtir. Karelerin boyutu ve konumu hakkında talimat yok. Test durumunda, 2 karenin aynı sol kenar konumuna sahip olabileceğini görüyorum.
Daniil Tutubalin

Sanırım As you can see, this line also has a height of 2, since the height must be equal to the distance between the two terms., You can choose to set the 0 point just before the first _ on the number line, or just after it.bunu oldukça iyi tamamlayın.
Geza Kerecsenyi

Sanırım n = 10 için test durumu 13-> 20'den itibaren yanlış.
Nick Kennedy

Yanıtlar:


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.