Ini adalah pos Perampok. The Cop posting di sini .
Tugas Anda adalah mengambil input bilangan bulat N dan menghasilkan digit ke- N dalam urutan OEIS A002942 .
Urutan terdiri dari angka kuadrat yang ditulis mundur:
1, 4, 9, 61, 52, 63, 94, 46, 18, 1, 121, 441, ...
Perhatikan bahwa nol di awal dipangkas jauh ( 100 menjadi 1 , bukan 001 ). Menggabungkan ini menjadi string (atau satu nomor panjang memberi):
1496152639446181121441
Anda harus menampilkan digit ke- N dalam string / angka ini. Anda dapat memilih untuk mengambil N sebagai diindeks 0 atau 1 diindeks (sebutkan yang mana yang Anda pilih).
Kasus uji (1-diindeks):
N = 5, ==> 1
N = 17, ==> 1 <- Important test case! It's not zero.
N = 20, ==> 4
N = 78, ==> 0
N = 100, ==> 4
N = 274164, ==> 1
Kode Anda harus bekerja untuk angka hingga N = 2 ^ 15 (kecuali bahasa Anda tidak dapat menangani bilangan bulat 32 bit secara default, dalam hal ini N dapat lebih rendah).
Perampok:
Anda harus mencoba untuk memecahkan posting Polisi.
Kode Anda harus dalam bahasa yang sama dengan pos Cop, dan memiliki jarak Levenshtein persis sama dengan jarak yang diberikan oleh polisi. Kode Anda tidak boleh lebih lama dari solusi asli (tetapi bisa dengan ukuran yang sama).
Anda dapat memeriksa jarak Levenshtein di sini!
Pemenang akan menjadi perampok yang memecahkan sebagian besar pos.
sumber
Jawaban:
Haskell , Laikoni
Cobalah online!
Itu
(*1)
diperlukan untuk pemeriksaan tipe.sumber
JavaScript, Arnauld
sumber
Array(m+1)
memperbaikinya.Pertanyaan 0 , Stephen
Cobalah online! Saya tidak tahu bagaimana kode ini bekerja, tetapi masih berfungsi setelah menghapus
*
.sumber
Bahasa Wolfram (Mathematica) , Jenny_mathy
Cobalah online!
Versi alternatif juga pada jarak 43:
Cobalah online!
sumber
6502 Kode Mesin (C64), Felix Palmen
Saya menguji ini dengan semua kasus uji pertanyaan dan beberapa tambahan (seperti 2 ^ 15 ... yang butuh beberapa saat), dan tampaknya berfungsi sama seperti aslinya dengan LD = 1.
Demo online , penggunaan: sys49152, n di mana n adalah input 0-diindeks.
sumber
Lua , Katenkyo
Cobalah online!
Saya tidak tahu Lua, tapi ini sederhana, hanya mengganti ruang dengan baris baru.
sumber
(0+)(%d+)$
dengan(0+)(%d+)
, jadi itu tentang regex ^^ 'Python 3 , HyperNeutrino
Cobalah online!
sumber
''
daripada""
lambda i:"".join(str( (-~k)**2)[::-1]for k in range(i+1))[i]
.Python 2 , dylnan
Cobalah online!
Catatan: pengiriman polisi ini disadap dan tidak bekerja untuk input yang lebih rendah dari 5. Ketika saya berada di sana saya membangun solusi ini yang memiliki jarak Levenshtein yang benar DAN memperbaiki bug.
sumber
Perl 5, (-p) Xcali
Diperbarui setelah komentar, Levenshtein Jarak antara
dan
adalah 55
Cobalah online
sumber
-a
versus-p
. Dua solusi yang saya buat dengan keduanya menggunakan flag yang sama. Saya akan berpikir bendera hanya akan ditempelkan ke depan tanpa spasi, tapi saya bersedia diayun oleh orang lain tentang itu.Java 8, Kevin Cruijssen
Cobalah online!
Ubah log
.replaceAll()
dengannew Long()
.sumber
n->{String r="";for(int i=1;r.length()<=n+1;r+=new Long(new StringBuffer(i*i+++"").reverse()+""));return r.charAt(n);}
( 118 byte, 92 LD dibandingkan dengan jawaban saya yang lain.)Oktaf , Stewie Griffin
Cobalah online!
Saya sebenarnya mencoba jawaban oktaf saya sendiri dan melihat yang ada. Milik saya sudah jauh lebih singkat sehingga menambahkan komentar di bagian akhir sudah cukup untuk mencapai jarak 63 yang diperlukan.
sumber
input()
dan semua yang menyertainya ...PHP, Jo.
Cobalah online!
(Saya berencana untuk mengganti ketidaksetaraan untuk mendapatkan LD yang lebih besar ...)
sumber
6502 Kode Mesin (C64), Felix Palmen
Mungkin juga celah "sederhana", tetapi tampaknya berfungsi seperti aslinya.
Memiliki LD = 1 sangat menggoda untuk mencoba memecahkannya (maaf, Felix). :)
Demo online , penggunaan: sys49152, n di mana n adalah input 0-diindeks.
sumber
E9
(perintah pengurangan)EB
yang tidak ditentukan dalam kode mesin 6502, tetapi kebetulan melakukan hal yang sama pada chip NMOS 6502 dan 6510. Program ini misalnya akan crash pada C64 DTV1. Tetapi tidak mungkin untuk menemukan C64 nyata yang tidak menjalankannya dengan benar, sehingga bisa dianggap sebagai celah yang valid? Saya mungkin meminta pendapat tentang meta ....