Kadang-kadang untuk tertidur, saya akan menghitung setinggi yang saya bisa, sementara melewatkan angka yang tidak bebas persegi . Saya mendapatkan sedikit sensasi ketika saya bisa melompati beberapa angka berturut-turut - misalnya, 48,49,50
semua TIDAK bebas persegi (48 dapat dibagi dengan 2 ^ 2, 49 oleh 7 ^ 2, dan 50 dengan 5 ^ 2).
Hal ini membuat saya bertanya-tanya tentang contoh paling awal dari angka-angka yang berdekatan yang dapat dibagi oleh beberapa urutan pembagi yang berubah-ubah.
Memasukkan
Input adalah daftar terurut a = [a_0, a_1, ...]
dari bilangan bulat positif yang mengandung setidaknya 1 elemen.
Keluaran
Output adalah bilangan bulat positif terkecil n
dengan properti yang a_0
membagi n
, a_1
membagi n+1
, dan secara umum a_k
membagi n+k
. Jika tidak n
ada yang seperti itu, perilaku fungsi / program tidak ditentukan.
Uji Kasus
[15] -> 15
[3,4,5] -> 3
[5,4,3] -> 55
[2,3,5,7] -> 158
[4,9,25,49] -> 29348
[11,7,5,3,2] -> 1518
Mencetak gol
Ini adalah kode-golf ; hasil terpendek (per bahasa) memenangkan hak membual. Celah yang biasa dikecualikan.
Jawaban:
Bahasa Wolfram (Mathematica) , 51 byte
Cobalah online!
sumber
Sekam , 7 byte
Cobalah online!
Penjelasan
sumber
MATL , 11 byte
Cobalah online!
Tidak sepenuhnya dioptimalkan untuk kecepatan ... testcase terbesar membutuhkan satu menit penuh menggunakan MATL, dan sekitar 0,03 detik pada MATLAB. Ada kemungkinan kecil MATL memiliki overhead yang lebih sedikit.
sumber
n:q`QtG\a]1)
untuk 12 byte tetapin:
jelas sama dengan dif
sini. Saya selalu lupa tentang itu, sehingga Anda dapat menambahkannya sebagai byter alternatif 11.fq`QtG\a}@
mengembalikan salinan input yang tidak tersedia.JavaScript,
4240 byteAkan menimbulkan kesalahan rekursi jika tidak ada solusi (atau solusinya terlalu besar).
Disimpan 2 byte dengan pointer dari Rick Hitchcock
Cobalah
Masukkan daftar angka yang dipisahkan koma.
sumber
[4,9,25,49]
,.(a,y=n=0)=>a.some(x=>y++%x)?f(a,++n):n
f=
.Python 3 , 62 byte
Cobalah online!
sumber
05AB1E , 9 byte
Cobalah online!
Penjelasan
sumber
Haskell ,
4544 byteCobalah online!
Sunting: -1 byte berkat nimi!
sumber
sum(zipWith mod[n..]a)<1
.Bersih , 61 byte
Cobalah online!
sumber
[1..]
bukannya[0..]
menghindari keluaran0
, bilangan bulat non-positif, untuk daftar tunggal.Pyth , 11 byte
Cobalah online!
sumber
2
di akhir? Saya yakin ada lagi yang bisa diselamatkan di sini tapi saya tidak tahu Pyth.2
memperbaiki masalahJ , 23 byte
Cobalah online!
sumber
I.
hanya akan mengembalikan 1 hasil? Apakah tidak mungkin ada banyak?R , 51 byte
Cobalah online!
Penggunaan
any
melempark
peringatan tentang konversi implisit kelogical
, di manak
nilai kembali.sumber
l=c(15)
, karenaseq(l)==1:l
dalam kasus itu.seq
menjengkelkan seperti itu!seq_along
terlalu lama.sum
bukannyaany
menyingkirkan peringatan itu, FYI.Perl 6 , 34 byte
Cobalah online!
sumber
APL (Dyalog Unicode) ,
24 2322 byteCobalah online!
Secara teknis, ini adalah fungsi diam-diam. Saya harus membuatnya karena satu-satunya input yang diizinkan adalah daftar bilangan bulat. Penggunaan
⎕IO←0
(pengindeksan 0)Perlu dicatat bahwa fungsi ini akan habis jika
n
tidak ada.Terima kasih kepada @ngn dan @ H.PWiz untuk masing-masing 1 byte.
Bagaimana?
sumber
Perl 5 , 49 + 2 (
-pa
) = 51 byteCobalah online!
sumber
Japt, 10 byte
Pada akhirnya akan muncul
undefined
jika tidak ada solusi, jika tidak merusak browser Anda terlebih dahulu.Cobalah
Penjelasan
sumber
Ruby , 48 byte
Cobalah online!
sumber
Python 2 , 80 byte
Cobalah online!
sumber
ML Standar (MLton) , 96 byte
Cobalah online!
Tidak Disatukan:
Cobalah online! Dimulai dengan
n=1
,f
kenaikan fungsin
sampaiall
-kondisi terpenuhi, dalam hal inin
ini dikembalikan.tabulate(m,g)
dengan beberapa bilangan bulatm
dan fungsig
membangun daftar[g 0, g 1, ..., g m]
. Dalam kondisi kamitabulate
dipanggil dengan panjang daftar inputl
dan fungsi yang memeriksa apakahi
elemen thl
membagin+i
. Ini menghasilkan daftar boolean, jadiall
dengan fungsi identitasfn x=>x
memeriksa apakah semua elemen benar.Saya menemukan golf trik bagus untuk memperpendek fungsi identitas dalam hal ini oleh empat byte: Alih-alih lambda
(fn x=>x)
, build-in fungsihd
yang digunakan, yang mengembalikan elemen pertama dari daftar, dan bools yang dihasilkan dalamtabulate
dibungkus[
dan]
untuk buat daftar singleton.sumber
PowerShell ,
6562 byteCobalah online!
PowerShell tidak memiliki yang setara dengan
any
atausome
atau sejenisnya, jadi kami membutuhkan pendekatan yang sedikit berbeda.Ini mengambil input
$args[0]
sebagai array, kemudian memasukifor
loop tak terbatas . Setiap iterasi yang kami tetapkan$o
akan1
(dijelaskan nanti), dan ditetapkan$i
menjadi++$j
. Peningkatan$j
terus mengawasi apa nomor pertama dari solusi yang diusulkan, sedangkan$i
akan meningkatkan atas sisa solusi yang diusulkan.Kami kemudian mengirim setiap elemen input
$args[0]
ke dalam satuForEach-Object
lingkaran. Di dalam lingkaran dalam, kita Boolean-gandakan ke$o
dalam hasil perhitungan. Ini akan membuatnya sehingga jika perhitungan gagal untuk suatu nilai, maka$o
akan beralih ke0
. Perhitungannya adalah!($i++%$_)
, atau Boolean-bukan dari operasi modulo. Karena nilai bukan nol adalah benar di PowerShell, ini mengubah sisa apa pun menjadi nilai palsu, sehingga berubah$o
menjadi0
.Di luar lingkaran dalam,
if
$o
bukan nol, kami telah menemukan solusi tambahan yang berfungsi, jadi kami keluaran$j
danexit
.sumber
tinylisp , 108 byte
Baris terakhir adalah fungsi lambda tanpa nama yang mengambil daftar dan mengembalikan integer. Cobalah online!
Tidak disatukan
sumber
Julia 0,6 , 79 byte
Cobalah online!
Input tanpa solutiosn yang valid akan menyebabkan perulangan tak terbatas ... :)
sumber
Python 2, 78 byte
EDIT: -26 terima kasih kepada @Chas Brown
sumber
Jelly , 10 byte
Cobalah online!
sumber
APL NARS, 140 byte, 70 karakter
uji
sumber
Java 8,
8275 bytePenjelasan:
Cobalah online.
sumber
Ruby ,
47 46 4342 byteCobalah online!
NB:
(1..)
sintaks hanya didukung di ruby 2.6, untuk saat ini TIO hanya mendukung 2.5 sehingga tautannya ke versi yang lebih lama (43 byte).sumber