Tugas Anda: menghasilkan kepingan salju Koch ke kedalaman n. Anda tidak perlu membuat kepingan salju Koch lengkap, hanya satu sisi dari segitiga awal. Wikipedia di Koch flakes: https://en.wikipedia.org/wiki/Koch_snowflake .
Aturan:
- Program harus menghasilkan satu sisi kepingan salju Koch hingga ke kedalaman n.
- Keluaran harus ASCII.
- Anda dapat menghasilkan seluruh kepingan salju; ini tidak wajib.
- Aturan standar untuk input / output dan celah dan hal-hal berlaku.
- Spasi tidak masalah, selama semua karakter berada di tempat yang tepat relatif satu sama lain.
- Kode terpendek menang!
Kasus uji:
n = 0:
__
n = 1:
__/\__
n = 2:
__/\__
\ /
__/\__/ \__/\__
n = 3:
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__
Saya harap ini masuk akal. Perhatikan bahwa dalam setiap kasus uji, fraktal dapat dibagi menjadi tiga bagian dengan panjang yang sama. Perhatikan juga bahwa lebar setiap kepingan salju tiga kali lebih lebar dari kepingan salju generasi sebelumnya.
FYI, disepakati bahwa ini bukan korban penipuan dari ini .
—
Kamerad SparklePony
Saya tidak berpikir Anda telah mendefinisikan dengan tepat apa representasi ASCII yang tepat dari kurva nth Koch.
—
orlp
Saya tidak yakin proporsinya masuk akal. Non-dupe digunakan
—
Ørjan Johansen
__/\__
dengan dua garis bawah, yang membuat setiap iterasi secara konsisten 3 kali lebih besar dari yang sebelumnya. Menggunakan hanya satu garis bawah nampaknya memberikan kontradiksi yang mulai menjadi sangat canggung dalam n = 3. Misalnya bagian luar memiliki lebar 12 sedangkan bagian tengah hanya memiliki lebar 10, sebagai akibat dari /_
dan _\
yang terlalu sempit. Dan bahkan sebelum itu Anda telah _
memperluas dua kali lebar /
dan \
.
Saya pikir
—
Ørjan Johansen
/_
dan _\
adalah satu-satunya bagian yang benar-benar fatal - garis bawah harus dilalui, karena mereka harus berada pada posisi yang sama dengan /
dan \
. Setelah selesai, hal-hal dapat diperluas 3 kali dari n = 1 dan seterusnya (tetapi n = 0 tidak cocok.)
Sayangnya, tidak, bagian tengah masih memiliki lebar yang tidak cocok dengan bagian luarnya, terbukti dengan n = 3 memiliki lebar 52 daripada 54 = 2 * 3 ^ 3. Coba salah satunya . Saya menyertakan versi terbalik dengan bagian-bagian hanya muncul dari n = 4 atau n = 5 - mereka berbeda dari yang ke atas di mana garis bawah dijatuhkan.
—
Ørjan Johansen