Bagi mereka yang tidak tahu, Sigma adalah huruf Yunani yang banyak digunakan dalam matematika sebagai tanda penjumlahan. Diberikan string yang mewakili ekspresi tergantung pada bahwa kita akan menyatakan E ( k ) , menghitung jumlah hasil untuk E ( k ) , untuk setiap k ∈ { 1 , 2 , 3 , 4 , 5 } . Secara ringkas, Anda harus menemukan S sedemikian rupa sehingga:
Contoh ungkapan:
Spesifikasi
- Anda dijamin:
- bahwa ekspresi itu valid, sehingga tidak mengandung kesalahan, dan itu tergantung pada sintaks yang dipilih (misalnya: jika Anda hanya mendukung
2*k
, tidak akan ada2k
) - hanya memiliki nilai yang ditentukan di antara hasil Anda, jadi tidak ada nilai yang suka
1/0
,inf
ataunan
akan muncul
- bahwa ekspresi itu valid, sehingga tidak mengandung kesalahan, dan itu tergantung pada sintaks yang dipilih (misalnya: jika Anda hanya mendukung
- Anda dapat mengasumsikan bahwa ungkapan di atas sesuai dengan batas-batas bahasa pemrograman pilihan Anda, sehingga tidak akan menghasilkan luapan atau kesalahan terkait batas lainnya
- Karakter ASCII non-spasi putih selain
k
dapat dipilih - Program Anda harus mendukung operasi berikut:
- Selain itu (
+
,plus()
,add()
,sum()
) - pengurangan (
-
,minus()
,subtract()
) - eksponensial (
**
,^
,pow()
atau orang lain, harus ditentukan), dengan dukungan untuk basis negatif dan eksponen - akar kuadrat dalam bentuk
sqrt(k)
,k^0.5
,k**0.5
, atau namun pun yang Anda inginkan - perkalian dan pembagian
- Selain itu (
- Pengajuan dapat berupa program lengkap atau suatu fungsi, sambil menyebutkan penggunaannya
- Setiap spasi spasi trailing / terdepan diizinkan saat mengeluarkan
- Presisi minimum: 2 tempat desimal
Uji Kasus (dengan k
)
+---------------+--------------+
| Input = E(k) | Output |
|---------------+--------------|
|2*k | 30 |
|---------------+--------------|
|sqrt(k) | 8.38 | (* with minimum decimal precision)
|---------------+--------------|
|k+k/2+k**2 | 77.5 |
|---------------+--------------|
|k**2 | 55 |
+---------------+--------------+
Skor akan menjadi jumlah byte (dari flag source + compiler). Pengajuan skor terendah valid menang, sambil mencatat bahwa celah ini dilarang keras. Berikut ini adalah pseudo-code Python, untuk membuat segalanya lebih jelas.
code-golf
math
number
arithmetic
Tuan Xcoder
sumber
sumber
plus()
alih+
? (Pertanyaan yang sama untuk semua operator lain juga)plus()
,add()
,sum()
dan setara diperbolehkan. Lihat hasil edit.N N2/+N2**+
.E(x)
@ComradeSparklePonyJawaban:
Jelly , 5 byte
Cobalah online!
Masukkan rantai monadik Jelly yang valid (Saya memutarnya di tautan saya).
Bagaimana itu bekerja
sumber
Mathematica,
171413 byteTerima kasih kepada Ian Miller karena telah menghemat 3 byte.
Terima kasih kepada LegionMammal978 untuk menghemat 1 byte.
Input harus berupa ekspresi aktual yang mengandung
k
, misalnya:sumber
1,
untuk ituSum
.N@#~Sum~{k,5}&
Python 3 ,
4037 byte3 byte terima kasih kepada Arnauld.
Trik lingkup valid \ o /
Cobalah online!
Gunakan
k**0.5
bukansqrt(k)
.sumber
JavaScript (ES7),
3130 bytePenggunaan
k**0.5
untuksqrt(k)
.Cobalah online!
sumber
05AB1E ,
876 byteCobalah online!
Input dalam notasi postfix, dan menggunakan variabel N . 05AB1E adalah bahasa berbasis stack, jadi hanya notasi postfix yang berfungsi.
Format
E(N)
: tulis nomor yang ingin Anda lakukan operasi, dan kemudian tulis tanda operasi. Misalnya,3+4
akan3 4+
,3*4+2*3
akan3 4* 2 3* +
. Perhatikan juga bahwa ini menggunakant
alih-alihsqrt
, danm
bukannya**
, demikiansqrt(N)
juga halnyaNt
.Penjelasan:
sumber
Oktaf ,
50463129 byteCobalah online!
Eksponensial dilambangkan dengan tanda sisipan
.^
dan multiplikasi dilambangkan dengan.*
.Ini menyatakan fungsi anonim yang mengambil dalam argumen
d
. Ini disetelk
sama dengan rentang1:5
dan menjumlahkan yang dievaluasid
dan mengembalikannya.sumber
Japt , 10 byte
String input harus memiliki variabel sebagai huruf besar
K
.sqrt(K)
harus dimasukkan sebagaiK**0.5
.Cobalah online!
Penjelasan
eval
ruang lingkup tidak berfungsi untukku; harus mendefinisikan ulang variabel penghitunganX
sebagai globalK
.sumber
Ox
secara langsung dapateval(
membantu dengan itu ...Oktaf,
2523 byteCobalah online!
Eksponensial dilambangkan sebagai
.^
sumber
APL (Dyalog) , 9 byte
Cobalah online!
Selain itu
+
, pengurangan adalah-
, perkalian adalah×
, pembagian adalah÷
eksponensial*
dan eksekusi adalah kanan ke kiri, jadi gunakan()
untuk mengelompokkan ekspresi.Masukan dalam hal
k
.Penjelasan
Dan inilah solusi yang mengambil kereta sebagai masukan (seperti jawaban Jelly):
+/(⍎⎕)¨⍳5
.sumber
Gangguan Umum, 55 byte
Cobalah online
versi berbeda, lebih panjang (58 byte) - mulai semakin pendek jika Anda melakukan penjumlahan dari 1 hingga 7.
namun metode lain dan lebih lama (
6564 byte) - tidak mendefinisikan fungsi - cukup masukkan ekspresi Anda ke dalam satu lingkaran. Seharusnya lebih pendek untuk jumlah yang lebih besar.sumber
Swift,
202184 byteUntuk beberapa alasan ini hanya akan berjalan secara lokal :(.
Berikut ini penjelasan tentang apa yang saya lakukan:
Terima kasih untuk @Mr. Xcoder untuk menghemat 15 byte!
sumber
TI-Basic, 12 byte
Panggilan dengan
"string":prgmNAME
, di manastring
ada ekspresi TI-Basic yang valid dariK
.sumber
Ans->u:sum(u(1,5
Ditumpuk , 16 byte
Cobalah online!
5~>
berkisar antara 1 hingga 5 inkluif.2/
membuat func diad,"
pasangan-bijaksana, dan!
dieksekusi. Dengan demikian, ini memetakan kisaran[1, 5]
dengan input, yang kemudian dievaluasi setelah menentukan anggota kisaran yang akank
. Kemudian, hasilnya dijumlahkan.sumber
dc ,
3124 byteInput harus diberikan dalam notasi reverse-Polandia (juga dikenal sebagai notasi postfix) dan diapit tanda kurung siku (
[]
) dengan:K
menggantik
sebagai parameter;+
mewakili penambahan;-
mewakili pengurangan dan_
diikuti oleh angka yang mewakili angka negatif;*
mewakili penggandaan;/
mewakili divisi;^
mewakili eksponensial;v
mewakili akar kuadrat.Misalnya,
-2*k+k+3*k**2+k**0.5-k/2
akan dimasukkan sebagai[_2K*K+K2^3*+Kv+K2/-]
. Ini memanfaatkan fakta bahwa ituK
adalahdc
perintah yang mengembalikan presisi saat ini (awalnya diatur ke1
). Oleh karena itu, pada akhirnya, ini mengembalikan output dengan presisi6
.Cobalah online!
sumber
R , 35 byte
Cobalah online!
TIO link juga mencakup solusi fungsi (38 byte)
sumber
Tcl , 58 byte
Cobalah online!
Jika itu hanya bekerja dengan bilangan bulat, saya bisa golf lebih banyak!
sumber