Tugas Anda, jika Anda memilih untuk menerimanya, sederhana.
Objektif
Anda harus membuat program yang, ketika dijalankan, mencetak beberapa (sebanyak yang Anda inginkan) istilah dalam urutan yang Anda pilih. Urutan harus merupakan urutan OEIS yang valid . Twist adalah bahwa ketika Anda mengambil karakter dari kode Anda yang membentuk urutan Anda, string mereka bersama-sama dan menjalankan mereka dalam bahasa yang sama , Anda harus mendapatkan rumus untuk n th urutan Anda untuk urutan Anda.
Contoh
Katakanlah saya membuat program ini:
abcdefghij
dan memilih urutan kotak: http://oeis.org/A000290
dan saya memilihnya untuk mencetak 5 syarat pertama dari urutan, hasilnya harus:
1, 4, 9, 16, 25
Catatan: outputnya fleksibel, Anda dapat memilih pembatas apa yang Anda inginkan untuk memisahkan persyaratan, tetapi pembatas harus terlihat sehingga masing-masing persyaratan urutan dapat dibedakan.
Sekarang, karakter pada indeks 1 adalah a
. Karakter pada indeks 4 adalah d
. Karakter pada indeks 9 adalah i
. Jadi program baru saya adalah:
adi
dan itu harus mencetak rumus untuk istilah ke- n untuk urutan saya, yaitu:
n^2
Sederhana!
Hal-hal lain
- Anda harus mencetak minimal 5 istilah.
- Anda dapat memilih untuk indeks 0 atau 1.
- Angka berulang berarti karakter yang berulang.
- Jika urutan Anda tidak berurutan (misalnya berjalan mundur), maka kode Anda masih mengikutinya (mis. Kode Anda ditulis mundur).
- Anda harus menggunakan dan hanya menggunakan angka-angka dalam batas jawaban Anda, bahkan jika sudah melampaui batas. Anda tidak dapat menggunakan angka dari urutan yang sama dengan yang tidak Anda cetak.
- Jika urutan Anda tidak memiliki formula secara resmi, Anda dapat menggunakan 3 huruf pertama dari nama yang tercantum di situs web OEIS (mis. Urutan fibonacci akan dicetak
fib
dan urutan lucas-lehmer akan dicetakluc
).
Ingat, ini adalah kode-golf , jadi jawaban tersingkat, dalam byte, menang!
n
?Jawaban:
05AB1E , 10 byte, A008585
Kode ini menampilkan 11 elemen pertama dari urutan 3n .
Cobalah online!
Penjelasan
Mengambil setiap item ke - N (diindeks 0) memberi:
yang menghasilkan 3n
sumber
Python 2, 35 Bytes
Saya memutuskan untuk menggunakan urutan yang jelas A000027 , yang pada dasarnya memiliki rumus
n
;) Jika Anda menjalankan kode berikut:Anda mendapatkan output:
Dan jika Anda mengambil 8 karakter dari kode sumber saya (0-diindeks), Anda mendapatkan ini:
Yang hanya mencetak
n
.Jika Anda mengharapkan jawaban yang lebih menarik, inilah solusi Python 2 untuk
n^2
, yaitu A000290 :sumber
05AB1E,
76 byte, A000027Cobalah online!
Penjelasan:
sumber
4L"n"s
juga merupakan pilihan, atau apakah saya jauh dari markas di sini?5
tidak4
Oktaf, 64 byte A000290
Saya memilih yang
n^2
satu:Ambil ketentuan 1, 4, 9, 16, 25, 36, 49, dan 64 untuk mendapatkan:
yang mencetak:
sumber
05AB1E ,
3028 byte, A000290Ini adalah urutan kotak
Output 5 syarat pertama dari urutan dengan rumus
n^2
:Cobalah online!
Ini 1-diindeks. Jadi mengambil karakter dari kode yang menyusun urutan, saya mengerti
Output yang mana
Cobalah online!
Penjelasan
sumber
Bertanya-tanya , 16 byte A005843
Ini dulunya DASH, tetapi sekarang telah diubah namanya menjadi Wonder.
Menghasilkan 6 angka genap pertama. Perhatikan ruang terdepan. Menjaga agar indeks 0, 2, 4, 6, dan 8 menghasilkan:
Yang dicetak
2t
.Penjelasan
Ini hanya string dan angka.
Ini menghasilkan daftar angka genap tak terbatas mulai dari 0, lalu mengambil 5 item pertama dari daftar itu.
sumber
MATL , 8 byte, A000027
Terima kasih kepada Oliver untuk koreksi menafsirkan tantangan
Kode dicetak
1 2 3 4 5
. Hanya menyimpan yang pertama memberi karakter yang dicetaknyan
.Cobalah online!
sumber
Oktaf, 49 byte, A109234
Urutan
floor(n*sinh(1))
adalah semua angka dari1
dan atas, kecuali6, 13, 20, 26, 33, 40, 46, _3, _0, _6 ...
Jadi, karakter yang digunakan untuk membuat1 2 3 4 5
harus ditempatkan di posisi itu. Posisi yang tersisa digunakan untuk string yang menjelaskan fungsi.sumber
05AB1E, 15 byte, A001477
Menggunakan pengkodean CP-1252 . Cobalah online!
sumber
Haystack ,
21109 BytesHaystack telah memiliki banyak fitur baru yang ditambahkan dalam beberapa hari terakhir :) Tentu saja, saya akan menggunakan A000027 . Inilah program inital:
Ini akan mencetak:
Dan jika Anda mengambil karakter 1-5, 0-diindeks, Anda mendapatkan:
Yang dicetak
n
.Jika Anda ingin bersenang-senang lagi, inilah solusi untuk A000290 :
Ini akan mencetak 7 kotak pertama, dan karakter terkait di program di atas, diindeks 0, adalah:
Yang dicetak
n^2
.sumber