Definisi
Jika Anda mengambil urutan kotak bilangan bulat positif, dan menyatukannya menjadi string angka (yaitu 149162536496481100...
), kotak "burung awal" adalah yang dapat ditemukan dalam string ini di depan posisi aslinya.
Misalnya, 7 2 (angka 49
), dapat ditemukan pada offset 2 dalam string, meskipun posisi alami pada offset 10. Dengan demikian 7 adalah kotak "burung awal" pertama.
Perhatikan bahwa untuk dianggap sebagai kotak "burung awal", semua digit di dalam kotak harus terjadi sebelum dimulainya posisi alami. Kecocokan yang tumpang tindih sebagian posisi alami tidak dihitung.
a(n)
adalah bilangan bulat positif n k sehingga k 2 adalah bujur sangkar "burung awal".
Tugas
Diberikan bilangan bulat positif n
, keluaran a(n)
.
Anda dapat menggunakan pengindeksan berbasis 1 atau 0, tetapi jika Anda menggunakan pengindeksan berbasis 0, harap katakan demikian dalam jawaban Anda.
Solusi Anda harus dapat menangani setidaknya setinggi a(53)
(atau jika Anda menggunakan pengindeksan berbasis 0, a(52)
).
Testcases
n a(n)
1 7
2 8
3 21
4 25
5 46
6 97
7 129
8 161
9 196
10 221
...
13 277
...
50 30015
51 35000
52 39250
53 46111
n
elemen pertama dari urutan tersebut dapat diterima? Terserah OP tetapi banyak orang memilih untuk mengizinkannya.a(n)
.Jawaban:
05AB1E ,
109 byteDisimpan 1 byte berkat Adnan .
Cobalah online!
Penjelasan
sumber
½
apa yang akan secara otomatis ditambahkan ke loop ketika hilang.JavaScript (ES6),
514945 byte1-diindeks.
Demo
Tampilkan cuplikan kode
Diformat dan dikomentari
Versi non-rekursif, 53 byte
Yang ini tidak tergantung pada ukuran tumpukan mesin Anda.
Cobalah online!
sumber
Pyth , 12 byte
Coba di sini!
Bagaimana itu bekerja
sumber
Perl 5 , 34 byte
33 byte kode +1 untuk
-p
.Cobalah online!
sumber
APL (Dyalog) ,
5342 byteCobalah online!
Bagaimana?
⍷
- Menemukan kemunculan⍕×⍨⍵+1
- kuadrat bersusun darix+1
di⍕×⍨⍳⍵
- Rentang kuadrat kotakx
' '~⍨
- tanpa spasi+/
- jumlah0<
- jika jumlahnya positif (kejadian ada), maka hasilnya kembalix+1
, jika tidak,∇⍵+1
- kambuh denganx+1
.⍣⍵
- berlakun
kali.sumber
Haskell , 73 byte
Cobalah online!Diindeks nol.
Penjelasan
Pembantu:
Fungsi utama:
sumber
Jelly ,
1311 byteCobalah online!
Atau ini adalah solusi 10 byte yang mencetak
n
nilai pertama dari urutan: Coba online!sumber
nfind
thingy: (((Python 2 ,
6261 byteCobalah online!
sumber
Jelly , 11 byte
Cobalah online!
Alternatif untuk solusi user202729 .
Bagaimana itu bekerja
sumber
ẇ
memiliki pengetatan otomatis.Alice , 32 byte
Cobalah online!
Layout boros dari mode Ordinal benar-benar menggangguku, tetapi semua yang saya coba untuk menyimpan beberapa byte keluar lebih lama ...
Penjelasan
Hanya kerangka I / O desimal biasa, dengan
o
dan@
dalam posisi yang sedikit tidak biasa. Daging dari program ini adalah ini:sumber
F
bukanz
), tetapi manipulasi stack tidak akan lebih mudah, bahkan mungkin satu atau dua perintah lebih buruk.Sekam , 13 byte
Cobalah online!
Penjelasan
Baris kedua adalah fungsi pembantu yang memberi kita angka desimal dari kuadrat angka:
Kita dapat menjalankan fungsi ini pada program utama menggunakan
₁
.sumber
Kotlin , 79 byte
Cobalah online!
sumber
Bahasa Wolfram (Mathematica) , 75 byte
Cobalah online!
Bagaimana itu bekerja
n
menjaga jumlah burung awal yang ditemukan sejauh ini,k
nomor terakhir diperiksa,s
senar"1491625..."
. Meskipunn
terlalu kecil, jikas
berisi kotak berikutnya, burung awal lain telah ditemukan, jadi kami menambahnyan
. Bagaimanapun, kami memperluass
.Setelah
n
mencapai input#
, kami kembalik
, nomor terakhir diperiksa dan karena itu burung awal ditemukan.Di laptop saya, dibutuhkan sekitar 53 detik untuk menghitung urutan ke-53 dari urutan tersebut.
sumber
REXX , 66 byte
Cobalah online!
sumber
Bash,
7669 byteAsumsikan
n
diberikan ke dalam variabel (yaitun=10 foo.sh
). Menggunakan paketgrep
. Nilai tengah apa pun adalah output (jika diizinkan, -3 byte).Bagaimana cara kerjanya?
sumber