Diberikan amplitudo dan periode untuk gelombang, cetak gelombang. Lihat contoh output untuk lebih jelasnya. Jumlah total bentuk gelombang sama dengan periode, dan tinggi setiap gelombang sama dengan amplitudo. Amplitudo dan Periode kurang dari 10. Anda dapat mengabaikan spasi tambahan tetapi bukan spasi utama.
Sample Input
3 2
Sample Output
3 3
232 232
12321 12321 12321 12321
232 232
3 3
ascii-art
label. Tetapi bagian seni tidak cukup hadir, mungkin harus ada tag lain untuk grafis ascii?Jawaban:
Dyalog APL,
4340 byte{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)(n,1-n←2×⍵)↑↑b⍴¨⍕¨b←a,1↓⌽a←⍳⍵}
{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)n(1-n←2×⍵)↑↑⍴∘⍕¨⍨a,1↓⌽a←⍳⍵}
( Terima kasih, Moris Zucca )Ini adalah fungsi diadik dengan amplitudo sebagai argumen kanan (
⍵
) dan periode sebagai argumen kiri (⍺
). Suatu program yang membaca input pengguna akan mengambil jumlah karakter yang sama.Menggambar beberapa inspirasi dari jawaban Martin Büttner CJam :
sumber
(n,1-n←2×⍵)
ken(1-n←2×⍵)
.Python - 135 karakter
Versi ini dengan ruang terdepan adalah 132 karakter
Ini juga dapat menjadi jauh lebih singkat jika tidak diharuskan untuk membaca dari stdin atau bahkan jika input dipisahkan dengan koma
Untuk input yang dipisahkan koma, baris pertama menjadi
sumber
APL (77)
sumber
J, 87 karakter
Sebagai sebuah program:
berjalan seperti ini:
Ini 5 karakter lagi jika kita membutuhkannya sebagai fungsi F:
sumber
Haskell (
226225222220214 214)Percobaan saya di Haskell:
Maaf teman-teman,
(€)
dioptimalkan jauh, dibutuhkan tiga byte untuk satu € sebagai lawan! yang hanya membutuhkan satu byte.Ini adalah "Versi beta", yang tidak memenuhi spesifikasi:
sumber
CJam, 45 byte
CJam jauh lebih muda dari tantangan ini, jadi jawaban ini tidak memenuhi syarat untuk tanda centang hijau (yang seharusnya diperbarui dengan jawaban APL marinus). Ini masih sedikit latihan yang menyenangkan.
Uji di sini.
Idenya adalah untuk menghasilkan setengah periode secara vertikal , seperti:
(Ditambah baris kosong berikutnya yang ditelan SE). Ini kemudian digandakan, setiap baris dibalik, dan paruh kedua periode ditambahkan. Kemudian seluruh hal diulangi dengan jumlah periode, dan akhirnya grid ditransposisikan untuk mengarahkan gelombang sepanjang horizontal.
sumber