Tugas
Tugas Anda adalah sederhana, menghasilkan urutan yang, mengingat indeks i
, nilai pada posisi yang jumlah kuadrat dari 0
upto i
mana i >= 0
.
Contoh:
Input: 0
Output: 0 (0^2)
Input: 4
Output: 30 (0^2 + 1^2 + 2^2 + 3^2 + 4^2)
Input: 5
Output: 55 (0^2 + 1^2 + 2^2 + 3^2 + 4^2 + 5^2)
Spesifikasi:
- Anda tidak boleh mengambil input dan output urutan tanpa batas;
- Anda dapat mengambil input
N
dan outputNth
elemen urutan; - Anda dapat mengambil input
N
dan menampilkanN
elemen pertama dari urutan.
code-golf
number
sequence
arithmetic
Felipe Nardi Batista
sumber
sumber
f(1) == 1 * 1 (1)
danf(24) == 70 * 70 (4900)
.f(1) = 1
?f(0) = 0
. Saya telah menunjukkan bahwa pada beberapa jawaban yang gagal persyaratan ituf(0) = 0
persyaratan hancur beberapa solusi saya :(Jawaban:
Jelly , 3 byte
Cobalah online!
FGITW
Penjelasan
sumber
Ræ.R
Python 2 , 22 byte
Cobalah online!
Ini menggunakan rumus bentuk tertutup n * (n + 1) * (2 * n + 1) / 6 . Kode melakukan operasi berikut:
Kalikan n dengan (
n*
):~n
), yang pada dasarnya berarti -1-n .*~(n*2)
), yang berarti -1-2n .Dibagi dengan 6 (
/6
).Python 2 , 27 byte
Cobalah online!
Disimpan 1 byte berkat Rod dan 1 terima kasih ke GB .
sumber
MATL , 3 byte
... atau mereka?
Cobalah online!
Penjelasan
sumber
JavaScript (ES6), 16 byte
Demo
Tampilkan cuplikan kode
Bagaimana?
Ekspresi
n+++n
diuraikan sebagain++ + n
(1) . Bukannya itu benar-benar penting karenan + ++n
akan juga berfungsi dalam hal ini.Karena itu:
yang mengevaluasi jumlah (k = 0 ... n) (k²) .
(1) Ini dapat diverifikasi dengan melakukan
n='2';console.log(n+++n)
yang memberikan bilangan bulat5
, sedangkann + ++n
akan memberikan string'23'
.sumber
05AB1E , 3 byte
Cobalah online!
Penjelasan
sumber
Brain-Flak , 36 byte
Cobalah online!
sumber
({<(({}))>{({})({}[()])}{}<({}[()])>})
38Brain-Flak , 34 byte
Cobalah online!
Bagaimana cara kerjanya?
Awalnya saya memiliki ide yang sama dengan Riley 1 tetapi merasa salah menggunakan zeroer. Saya kemudian menyadari itu
Menghitung n 2 - n.
Mengapa? Ya kita tahu
Menghitung n 2 dan loop n kali. Itu berarti jika kita mengganti urutan dari dua dorongan kita beralih dari meningkatkan jumlah dengan n + (n-1) setiap kali untuk meningkatkan jumlah dengan (n-1) + (n-1) setiap kali. Ini akan mengurangi hasil dengan satu per loop, sehingga membuat hasil kami n 2 - n. Di tingkat atas ini -n membatalkan dengan n yang dihasilkan oleh dorongan bahwa kita memusatkan perhatian mengurangi kebutuhan untuk noler dan menyelamatkan kita dua byte.
Brain-Flak , 36 byte
Cobalah online!
Ini adalah solusi lain, ini tidak seperti golf tapi itu cukup aneh jadi saya pikir saya akan meninggalkannya sebagai tantangan untuk mencari tahu cara kerjanya.
Jika Anda tidak menyukai Brain-Flak tetapi Anda masih menginginkan tantangan di sini, itu adalah penjumlahan.
1: Saya datang dengan solusi saya sebelum saya melihat jawabannya di sini. Jadi tidak ada plagiarisme di sini.
sumber
Sekam , 3 byte
Cobalah online!
sumber
Ohm v2 , 3 byte
Cobalah online!
Penjelasan
sumber
Japt , 3 byte
Coba di sini.
-1 terima kasih kepada Shaggy .
Penjelasan:
sumber
p2
.Brain-Flak , 46 byte
Cobalah online!
sumber
({{({})({}[()])}{}}{})
, dan menghemat 10 byte. (Jika itu tidak masuk akal, ping saya di tumpukan ketiga )CJam , 10 byte
Cobalah online!
sumber
ri),_.*:+
atauri),2f#:+
?Bahasa Wolfram (Mathematica) , 14 byte
Cobalah online!
sumber
#.#&@Range@#&
menghemat satu byte#.#&@*Range
.Sebenarnya , 3 byte
Cobalah online!
Dibawa
N
sebagai input, dan menampilkanN
elemen ke-5 dalam urutan.Penjelasan:
sumber
APL (Dyalog) ,
75 byte2 byte disimpan berkat @Mego
Cobalah online!
Bagaimana?
⍳
- jarak+.×
- produk titik⍨
- dengan dirinya sendirisumber
¨⍳
itu perluR, 17 byte
Cukup sederhana, itu mengambil keuntungan dari fakta bahwa
^
(eksponensial) adalah Vectorized di R .sumber
(x=0:scan())%*%x
lebih pendek dengan satu byte, tapi saya yakin Anda perlucat
untuk mendapatkan output.cat
, menghasilkan matriks 1x1.cat
adalah yang diperlukan untuk ini agar memenuhi syarat sebagai program penuh. Jika Anda ingin mengubahnya, jawab pertanyaan ini dan dapatkan daya tarik di antara orang-orang R lainnya di situs.CJam , 9 byte
Cobalah online!
Penjelasan
Kalau tidak:
Ini mengkuadratkan setiap elemen dengan memetakan
2#
alih-alih menggunakan produk berpasangan. Dan hanya untuk bersenang-senang alternatif lain yang menjadi tidak akurat untuk input besar karena menggunakan aritmatika floating-point:sumber
Julia ,
1614 byte2 byte disimpan berkat @MartinEnder
Cobalah online!
Bagaimana?
(x=1:n)
menciptakan serangkaian1
ton
dan assign tox
,⋅
dot product withx
.sumber
Labirin , 11 byte
Cobalah online!
Mencetak urutan tanpa batas.
Penjelasan
Penunjuk instruksi terus berjalan di sekitar kuadrat kode berulang-ulang:
sumber
Cubix , 15 byte
Cobalah online!
Kode saya agak sedih
):
Menghitung
n*(n+1)*(2n+1)/6
sumber
Befunge , 16 byte
Menggunakan rumus bentuk tertutup n * (n + 1) * (2n + 1) / 6 .
Cobalah online!
Befunge , 38 byte
Menggunakan loop.
Cobalah online!
sumber
Haskell, 20 byte
Cobalah online!
sumber
Excel, 19 byte
sumber
Hexagony , 23 byte
Cobalah online!
Penjelasan
Dibuka:
Ini benar-benar hanya program linier dengan
/
digunakan untuk pengalihan. Kode linier adalah:Yang menghitung n (n +1) (2n +1) / 6 . Ini menggunakan tepi memori berikut:
Di mana titik memori (MP) dimulai pada tepi berlabel n , menunjuk ke utara.
Secara teori dimungkinkan untuk menyesuaikan program ini dengan panjang sisi 3, karena
/
yang tidak diperlukan untuk perhitungan,:
dapat digunakan kembali untuk mengakhiri program, dan beberapa'"=+*{
mungkin dapat digunakan kembali juga, membawa jumlah yang diperlukan perintah di bawah 19 (maksimum untuk panjang sisi 3). Saya ragu apakah mungkin untuk menemukan solusi semacam itu dengan tangan, jika ada.sumber
> <> ,
151311 byteDisimpan 2 byte berkat Bukan pohon
Cobalah online!
Output urutan tanpa batas.
sumber
-v
bendera):::1+:}+**6,n
( Cobalah online! )N=1
): Cobalah online!l
. Memeriksa dengan OP apakah boleh memulai pada 1.l
ide dari jawaban Labyrinth Martin Ender .)Pyth ,
75 bytes berkat Steven HPenjelasan:
Solusi pertama saya
Cobalah online!
Penjelasan:
sumber
Neim , 3 byte
Ini bisa menjadi tantangan untuk memamerkan nomor poligon bawaan Neim, tetapi tampaknya tidak.
Cobalah online!
sumber
Oasis , 4 byte
Cobalah online!
Penjelasan
sumber
Brachylog , 5 byte
Cobalah online!
Penjelasan
sumber
Gaia , 3 byte
Cobalah online!
sumber