Tulis sebuah program yang mengambil input string dan integer n
, dan output:
- String yang diteruskan ke program
n
kali yang lalu; - Program baru yang akan digunakan untuk doa berikutnya.
Anda tidak dapat menyimpan data apa pun di luar program, dan program Anda tidak dapat memanggil program sebelumnya dalam rantai. Jika string tidak ada, output string kosong (tetapi masih menampilkan program berikutnya).
Contoh run, di mana saya menggunakan notasi program_n
untuk setiap program yang berurutan (Tentu saja, [This text is the nth program]
akan diganti dengan kode aktual.)
$ program_1 "One" 1
[This text is the second program]
$ program_2 "Two" 1
One
[This text is the third program]
$ program_3 "Three" 2
One
[This text is the fourth program]
$ program_4 "Four" 2
Two
[This text is the fifth program]
$ program_5 "Five" 1
Four
[This text is the sixth program]
program_n+1
's ke baris output seperti[program_3, One]
jika itu yang ingin Anda lihat. Jika kedua output pergi ke stdout bagaimana seharusnya mereka dipisahkan? Juga apakah fungsi diizinkan alih-alih program lengkap?Jawaban:
CJam, 25
Cobalah online
Penjelasan:
Blok:
Pada akhirnya, string yang diminta (jika ada), representasi array, blok dan string "_ ~" dicetak secara otomatis.
sumber
Python, 221 byte
Untuk mengujinya dengan mudah, gunakan
./thisgolf.py "yourfirststring" | python -c "import sys;exec(sys.stdin.read().split('\n')[1])" "your second string" <N>
, ulangi bit terakhir sebanyak yang Anda inginkan.sumber
Python 2, 207 byte
Dibangun pada program quine tapi perubahan saya yang lain , tugas ini lebih sederhana sehingga saya bisa bermain golf lebih jauh. Jika saya bisa mengambil input ke stdin, ini harusnya jauh lebih pendek.
sumber
Javascript ES6,
130128121120113 bytesumber
\n
dengan baris baru yang sebenarnya.