Bazen, gerçekten sıkıldığımda ( gerçekten sıkıldığımda), bir çizgi segmenti çizmeyi ve üzerine noktalar çizmeyi seviyorum.
İlk olarak, belirli bir boyutta, bazı N değeri için 2 ^ N olan bir çizgi parçası çiziyorum. Çizgi, bir dizi .karakterle temsil edilecek .
................
Sonra sol uçta bir nokta çiziyorum. Puanlar Xkarakterlerle gösterilir.
X...............
Sonra bir model takip ediyorum. En son çizilen noktadan başlayarak (A olarak adlandıracağım), satırdaki bir sonraki çizilen noktaya (B) ilerlerim (gerektiği gibi sarar). Sonra, (C) çizgisinde bir sonraki çizilen noktaya ilerlerim. Sonra, bu üçüncü nokta (C) ile bir sonraki halihazırda çizilen nokta (D) arasında yeni bir nokta çiziyorum.
Çizginin etrafına her sarıldığınızda, "orta" sarma biçiminde belirlenir. Yeni çizilen nokta her zaman C'nin sağındadır.
Diyelim ki şu satır benim şimdiki satırım. Sonraki iki noktayı nasıl çizeceğim. Bu örnek için, her önemli noktayı bir harfle etiketleyeceğim.
X...A...X.X...X.
^
X...A...B.X...X.
^
X...A...B.C...X.
^
X...A...B.C...D.
^
X...X...X.X.A.X.
^
X...X...X.X.A.B.
^
C...X...X.X.A.B.
^
C...D...X.X.A.B.
^
X.A.X...X.X.X.X.
^
Önceki örneğe dönersek, bir sonraki nokta satırın ortasına çizilir.
X.......X.......
Bu belki de biraz özel bir durumdur: bir sonraki noktaya ilerlemek sizi başladığınız yere bırakır. Yararlı olan tek yarım nokta, kendi başına bir nokta çizmenin aksine, "döngüsel" yarım noktadır (hatta yarım nokta).
Aşağıda, çizgiyi buradan sonuna kadar çizeceğim nokta serileri.
X.......X.......
X.......X...X...
X.......X.X.X...
X...X...X.X.X...
X...X...X.XXX...
X.X.X...X.XXX...
X.X.X...XXXXX...
İki bitişik nokta arasına sıkışmış olması gerektiği için artık bir sonraki noktayı çizmek için yer yok, bu yüzden verilen N = 4 değeri için maksimum derinliğe ulaştım. Yukarıdaki listedeki son satır "tamamlandı" ."
Meydan okuma
Amaç, verilen N değeri için tamamlanmış satırı yazdıracak / döndürecek en kısa programı / adlandırılmış işlevi yazmaktır. Yukarıda N = 4 gösterilir.
Giriş
Giriş, negatif olmayan tek bir tamsayı N olacaktır. Oluşturulan çizginin uzunluğu 2 ^ N olacaktır.
Çıktı
Çıktı, 2 ^ N uzunluk .ve Xkarakterlerden oluşan tamamlanmış satır olacaktır . Sondaki yeni satır önemli değil.
Örnek G / Ç
0
X
1
XX
2
X.XX
3
X.X.XXX.
4
X.X.X...XXXXX...
5
X.X.X...X...X...X.XXX.XXX.......
(c%b+b)%b?cOlumsuz olmayı mı bekliyorsunuz ?