Tujuan dari Rosetta Stone Challenge adalah menulis solusi dalam sebanyak mungkin bahasa. Pamerkan multibahasa Anda dalam pemrograman!
Tantangan
Ketika orang menggunakan istilah "rata-rata," mereka umumnya berarti rata-rata aritmatika, yang merupakan jumlah dari angka-angka dibagi dengan jumlah angka. Namun, ada lebih banyak makna pada kata "mean," termasuk rata- rata harmonik , rata - rata geometris , rata - rata aritmatika , rata - rata kuadratik , dan rata- rata kontraharmonik .
Tantangan Anda adalah menulis program yang memasukkan daftar angka dan menampilkan 5 cara yang berbeda. Selain itu, Anda mencoba menulis program dalam bahasa sebanyak mungkin . Anda diizinkan untuk menggunakan segala jenis fungsi perpustakaan standar yang dimiliki bahasa Anda, karena ini sebagian besar adalah karya bahasa.
Memasukkan
Input akan menjadi daftar angka positif.
1,2,3,4,5
1.7,17.3,3.14,24,2.718,1.618
8.6
3,123456
10.1381,29.8481,14.7754,9.3796,44.3052,22.2936,49.5572,4.5940,39.6013,0.9602
3,4,4,6.2,6.2,6.2
Keluaran
Output akan menjadi lima cara dalam urutan yang tercantum di atas (harmonik, geometris, aritmatika, kuadratik, kontraharmonik). Mudahnya, ini sama dengan meningkatnya pesanan.
2.18978,2.6052,3,3.31662,3.66667
3.01183,4.62179,8.41267,12.2341,17.7915
8.6,8.6,8.6,8.6,8.6
5.99985,608.579,61729.5,87296.6,123453.
5.95799,14.3041,22.5453,27.9395,34.6243
4.5551,4.74682,4.93333,5.10425,5.28108
Akan ada beberapa keringanan wajar dalam format I / O, tetapi saya ingin beberapa tempat desimal akurasi. Karena saya ingin output floating-point, Anda dapat mengasumsikan input floating-point.
Kriteria Kemenangan yang Objektif
Adapun kriteria kemenangan yang objektif, ini dia: Setiap bahasa adalah kompetisi terpisah untuk siapa yang dapat menulis entri terpendek, tetapi pemenang keseluruhan adalah orang yang memenangkan sebagian besar sub-kompetisi ini. Ini berarti bahwa seseorang yang menjawab dalam banyak bahasa yang tidak biasa dapat memperoleh keuntungan. Code-golf sebagian besar tiebreak ketika ada lebih dari satu solusi dalam bahasa: orang dengan program terpendek mendapat pujian untuk bahasa itu.
Jika ada seri, pemenangnya adalah orang dengan kiriman peringkat kedua (dan seterusnya).
Aturan, Batasan, dan Catatan
Program Anda dapat ditulis dalam bahasa apa pun yang ada sebelum 2 September 2014. Saya juga harus bergantung pada komunitas untuk memvalidasi beberapa tanggapan yang ditulis dalam beberapa bahasa yang lebih jarang / esoterik, karena saya tidak mungkin dapat menguji mereka.
Harap simpan semua kiriman berbeda Anda yang terkandung dalam satu jawaban.
Juga, tidak ada shenanigans dengan jawaban yang pada dasarnya sama dalam dialek bahasa yang sedikit berbeda. Saya akan menjadi juri untuk pengajuan apa yang cukup berbeda.
Papan Peringkat Saat Ini
Bagian ini akan diperbarui secara berkala untuk menunjukkan jumlah bahasa dan siapa yang memimpin di masing-masing bahasa.
- Algoid (337) - Peluruhan Beta
- APL (42) - algoritme hiu
- Awk (78) - Dennis
- BBC BASIC (155) - Peluruhan Beta
- C (136) - Dennis
- C ++ (195) - Zeta
- C # (197) - Martin Büttner
- CJam (43) - Dennis
- Clojure (324) - Michael Easter
- Cobra (132) - Ourous
- CoffeeScript (155) - Martin Büttner
- Commodore BASIC (104) - Mark
- Common Lisp (183) - DLosc
- Erlang (401) - Mark
- Fortran (242) - Kyle Kanos
- Fortran 77 (286) - Peluruhan Beta
- GNU bc (78) - Dennis
- GolfScript (83) - Dennis
- Groovy (157) - Michael Easter
- Haskell (140) - Zeta
- J (28) - algoritme hiu
- Jawa (235) - Michael Easter
- JavaScript (ES6) (112) - Dennis
- JRuby (538) - Michael Easter
- Julia (79) - Martin Büttner
- Lua (113) - AndoDaan
- Mathematica (65) - Martin Büttner
- Matlab (63) - Martin Büttner
- Oktaf (68) - Dennis
- Openscript (849?) - COTO
- Pascal (172) - Mark
- Perl (76) - Grimy
- PHP (135) - Dennis
- POV-Ray 3.7 (304) - Tandai
- Prolog (235) - DLosc
- Pyth (52) - Dennis
- Python 2 (96) - Dennis
- Python 3 (103) - DLosc
- Q (53) - algoritme hiu
- Q'Nial (68) - algorithmshark
- QBasic (96) - DLosc
- R (91) - plannapus
- Ruby (118) - Martin Büttner
- Rust (469) - Vi.
- Scala (230) - Michael Easter
- T-SQL (122) - MickyT
- TI-Basic (85) - Ypnypn
- TypeScript (393) - rink.attendant.6
- VBA (Excel) (387) - Stretch Maniac
- wxMaxima (134) - Kyle Kanos
Peringkat Pengguna Saat Ini
- Dennis (10)
- Martin Büttner (6)
- Michael Easter (5)
- Tandai, DLosc, algoritme hiu (4)
- Beta Decay (3)
- Zeta, Kyle Kanos (2)
- Ourous, AndoDaan, COTO, Grimy, plannapus, Vi., MickyT, Ypnypn, rink.attendant.6, Stretch Maniac (1)
(Jika saya membuat kesalahan dalam peringkat di atas, beri tahu saya dan saya akan memperbaikinya. Juga, tiebreak belum diterapkan.)
sumber
(a-b)/ln(a/b)
. Saya akui bahwa baru hari ini saya mengetahui bagaimana generalisasi pada kumpulan sampel lebih dari dua :-) en.wikipedia.org/wiki/Logarithmic_meanbc
,awk
dll menjadi "bahasa" atau "perintah" - jadi apakah cara yang berbeda untuk mengimplementasikan ini dari shell dihitung pada bahasa yang berbeda?Jawaban:
Bahasa: 1
Openscript (banyak ratusan)
(Favorit saya tidak jelas dan bahasa pemrograman mati dengan sedih, karena saya belajar memprogramnya bertahun-tahun yang lalu;)
sumber
put the length of the inputs into n
? O_O Saya sudah menyukai bahasa ini.Bahasa: 13
Saya pikir daftar ini sekarang harus berisi setiap bahasa pemrograman yang saya tahu cukup baik untuk menyelesaikan setidaknya masalah sederhana. Saya akan mencoba untuk membuat daftar ini lengkap dari waktu ke waktu ketika saya melihat ke dalam beberapa bahasa baru. (Saya dulu kenal beberapa Smalltalk dan Delphi, tapi saya harus mencari banyak untuk menambahkannya agar terasa benar.)
C,
196190171165 byteMembaca input sebagai argumen baris perintah individual dan menulis daftar sarana yang dipisahkan koma ke STDOUT.
Terima kasih atas beberapa peningkatan pada Quentin.
C ++, 200 byte
Ini sama dengan kode C di atas, ditambah dua termasuk. Saya memasukkan ini karena ini lebih panjang daripada pengiriman C ++ yang menang, jadi saya kira tidak ada salahnya dilakukan, dan saya ingin posting ini benar-benar berisi setiap bahasa yang saya tahu. :)
C #,
220197 byteMenentukan fungsi dalam kelas mengambil
List
ganda dan mengembalikan array ganda dengan lima cara.Terima kasih atas beberapa peningkatan pada Visual Melon dan Bob.
CJam, 52 byte
Mengambil input sebagai argumen baris perintah dan mencetak daftar dengan lima nilai ke STDOUT.
CoffeeScript, 155 byte
Ini hampir sama dengan solusi JavaScript lebih jauh ke bawah (dan awalnya saya tidak menghitungnya karena alasan itu), tetapi OP tetap memasukkannya ke dalam papan skor, jadi saya mempromosikannya ke pengiriman penuh. Mereka adalah bahasa yang secara teknis berbeda.
JavaScript (ES6),
155153 byteMenentukan fungsi mengambil array angka dan mengembalikan array dengan lima cara.
Terima kasih atas beberapa peningkatan pada William Barbosa.
Julia, 79 byte
Menentukan fungsi mengambil daftar angka dan mengembalikan daftar dengan lima cara.
Lua, 120 byte
Menentukan fungsi dengan mengambil daftar angka dan mengembalikan 5 nilai terpisah untuk rata-rata.
Mathematica,
736765 byteMenentukan fungsi mengambil daftar angka floating point dan mengembalikan daftar dengan lima cara.
Fakta menyenangkan: Mathematica memiliki semua 5 cara bawaan (dan itu adalah kiriman asli saya), tetapi tiga di antaranya dapat diimplementasikan dalam karakter yang lebih sedikit daripada nama fungsi mereka.
Matlab,
6563 byteMeminta input sebagai array angka dari pengguna dan menampilkan lima cara secara individual.
Terima kasih atas beberapa peningkatan pada Dennis Jaheruddin.
PHP ≥ 5.4,
152149143 byteImplementasi fungsional yang sama dengan yang sebelumnya.
Terima kasih atas beberapa peningkatan pada Ismael Miguel.
Python 2, 127 byte
Implementasi fungsional yang sama dengan yang sebelumnya.
Ruby,
129118 byteImplementasi fungsional yang sama dengan yang sebelumnya.
sumber
norm(l)/n^.5
menggantikannorm(l)/sqrt(n)
.4 bahasa
J -
3228 char!Fungsi mengambil daftar angka sebagai satu-satunya argumen.
a
di sini adalah kata keterangan, yang mengambil fungsi orde kedua.+/ % #
adalah kereta di J, yang berarti Sum Divided-by Count, definisi rata-rata aritmatika.&.:
adalah konjungsi yang disebut Under, di manau&.:v(y)
setara denganvi(u(v(y)))
danvi
adalah kebalikan fungsionalv
. Ya, J dapat mengambil invers fungsional .Jadi
a
mengambil fungsi di sebelah kiri, dan mengembalikan rata-rata yang "menyesuaikan" nilai dengan fungsi, mengambil rata-rata aritmatika, dan kemudian membalikkan penyesuaian setelahnya.%a
adalah rata-rata harmonik, karena%
berarti Timbal Balik, dan merupakan kebalikannya sendiri.^.a
adalah rata-rata geometris, karena^.
logaritma natural dan kebalikannya adalah eksponensial.(Π x)^(1/n) = exp(Σ log(x)/n)
[a
adalah mean aritmatika, karena[
merupakan fungsi identitas.*:a
adalah rata-rata kuadratik, karena*:
Kuadrat, dan kebalikannya adalah akar kuadrat.*:a
dibagi dengan ([a
dibagi dengan*:a
)). Ini seperti[a(]%%)*:a
. Sementara kita berada di sana, kita menambahkan setiap cara[a(,,]*%~)*:a
,.Terakhir, kami menggunakan koma untuk menambahkan sisa hasil secara bersamaan. Kami tidak memerlukan parens lebih lanjut karena rangkaian adalah (dalam hal ini setidaknya) asosiatif.
Digunakan di J REPL:
Q - 53 char
Fungsi argumen tunggal. Kami hanya membuat daftar semua cara yang kami inginkan.
Hal yang sama di versi k yang lain ada di bawah.
{s:(a:avg)x*x;(%a@%x;exp a log x;a x;sqrt s;s%a x)}
{s:(a:{(+/x)%#x})x*x;(%a@%x;(*/x)^%#x;a x;s^.5;s%a x)}
APL - 42 char
Fungsi mengambil daftar sebagai argumen.
Dijelaskan oleh ledakan:
Q'Nial - 68 char
Anda akan menyukai yang ini.
Q'Nial adalah bahasa berorientasi array lain, sebuah implementasi dari Nial , yang didasarkan pada Teori Array yang tidak jelas dengan cara yang sama seperti yang dilakukan Haskell berdasarkan teori kategori. (Dapatkan di sini .) Ini sangat berbeda dari tiga lainnya - ia mem-parsing kiri-ke-kanan, pertama-tama! —Tapi itu masih lebih terkait dengan mereka daripada dengan bahasa lain mana pun.
sumber
/⍨
) Itu mungkin dimaksudkan untuk porting kode yang benar-benar lama. Apa yang kamu gunakan? Dyalog? NARS2000? Saya pikir sangat disayangkan J mengambil pendekatan kebisingan ASCII. Implementasi bahasa itu merupakan karya jenius. Tetapi saya tidak dapat diganggu untuk menguraikan mental]a(,,]*%~)*:a
[0.5]
? Ew.) Dengan latihan, Anda terbiasa diam-diam J, meskipun. Jauh lebih buruk dari ini.12 bahasa
CJam,
454443 byteMembaca array pelampung (misalnya,
[1.0 2.0 3.0 4.0 5.0]
) dari STDIN. Cobalah online.APL,
6761535250 byteCobalah online.
Pyth,
5552 byteMembaca angka yang dipisahkan ruang (mis.,
1 2 3 4 5
) Dari STDIN.Oktaf, 68 byte
Belum termasuk shebang. Membaca array (mis.,
[1 2 3 4 5]
) Dari STDIN.GNU bc, 78 byte
Menghitung shebang sebagai 1 byte (
-l
switch). Membaca spasi mengambang terpisah dari STDIN, diikuti oleh nol.Awk, 78 byte
Belum termasuk shebang. Membaca satu angka per baris dari STDIN.
GolfScript,
8683 byteGolfScript tidak memiliki dukungan bawaan untuk mengapung, sehingga kode menguraikannya. Oleh karena itu, format input agak terbatas: Anda harus memasukkan
1.0
dan0.1
bukan1
,1.
atau.1
.Membaca pelampung (seperti yang dijelaskan di atas) satu demi satu, dari STDIN. Cobalah online.
Perl,
9085 byteMenghitung shebang sebagai 1 byte (
-n
switch). Membaca satu angka per baris dari STDIN.Python 2,
10296 byteBelum termasuk shebang. Membaca daftar pelampung (mis.,
1.0,2.0,3.0,4.0,5.0
) Dari STDIN.ECMAScript 6 (JavaScript),
114112 byteBelum termasuk LF. Mengharapkan array (misalnya,
[1,2,3,4,5]
) sebagai argumen.PHP, 135 (atau 108?) Byte
Tidak termasuk shebang atau LF. Membaca mengapung sebagai argumen baris perintah.
Saya punya solusi yang lebih pendek, tetapi saya tidak tahu bagaimana cara menghitung byte:
Menghitung byte di setiap string kode dan menambahkan dua untuk
-R
dan-E
, pendekatan ini akan skor 108.C,
172140139137136 byteBelum termasuk LF. Kompilasi dengan
gcc -lm
. Membaca mengapung terpisah dipisahkan dari STDIN.sumber
while(cond)...,n++;
vsfor(;cond;n++)...;
interpreter switches script
untuk setiap pengiriman. Konvensi adalah bahwa garis shebang tidak dihitung, kecuali jika berisi sakelar non-default. Seperti yang dinyatakan dalam jawaban saya, saya sudah dihitung#!/usr/bin/awk -f
sebagai nol byte (-f
berarti membaca program dari file), tetapi#!/usr/bin/perl -n
sebagai satu byte (-n
berarti beralih di atas jalur input).-q
untuk Oktaf dan-lm
C?-q
hanya untuk menenangkan output.-lm
dibutuhkan oleh GCC. Kompiler lain mungkin tidak memerlukannya.J (50):
Ini adalah hal yang sangat baik untuk J:
Seperti biasa: ledakan di pabrik yang tersenyum. Namun, beberapa smiley dibiarkan utuh kali ini:
:)
dan:*:
(itu pria dengan empat mata dan permata tertanam di wajahnya) Sesi interaktif saya yang digunakan untuk membuat ini: http://pastebin.com/gk0ksn2bBeraksi:
Penjelasan:
Seperti yang mungkin Anda harapkan, sebenarnya ada 5 fungsi yang dibundel ke dalam daftar dengan kereta garpu dan kait. (Jangan khawatir, itu hanya cara mudah untuk membuat beberapa fungsi keluaran ke satu daftar).
Baris yang saya gunakan untuk membuat J menghasilkan jawaban ini mungkin sedikit lebih jelas:
Mari kita melihatnya secara terpisah.
Harmonis
#
- Panjang (dari array)%
- Dibagi dengan+/@:%
- Jumlah (+/
, atau lipat+
dalam array (+/1 2 3 4
==1+2+3+4
)) di atas bagi, tetapi kali ini dalam kasus monadik. Apa artinya ini di sini, adalah bahwa J secara otomatis "menebak" bahwa 1 akan menjadi nilai yang paling berguna.Geometris
#
- Panjang (dari array)%:
- Root (4 %: 7
artinya 'root ke empat (atau tesseract) dari tujuh)*/
- Produk (*/
mirip artinya+/
, lihat fungsi sebelumnya untuk ini)Hitung
+/
- sum, seharusnya sudah tidak asing lagi sekarang%
- dibagi dengan#
- PanjangRoot berarti kuadrat
Ehm, ya ...
%:
- Akar%@#
- Kebalikan dari panjang*
- Waktu+/@:*:
- Jumlah kuadrat (*:
kuadrat, meskipun*~
juga.)Contraharmonic
+/@:*:
- Jumlah kuadrat%
- dibagi dengan+/
- jumlah.Jika J hanya sebagus ini dalam memproses string, kita akan memenangkan lebih banyak kompetisi golf ...
sumber
Bahasa: 5
POV-Ray 3.7 Adegan Keterangan Bahasa: 304 bytes
(POV-Ray SDL tidak memiliki fungsi input konsol, jadi saya telah mengganti input file. Output untuk konsol, tetapi dikelilingi oleh banyak output status program.)
Commodore BASIC:
111104 bytes(Tidak semua karakter dalam program ini dapat direpresentasikan dalam Unicode.
|
Digunakan untuk mewakiliSHIFT+H
,┌
mewakiliSHIFT+O
,┐
mewakiliSHIFT+P
,/
mewakiliSHIFT+N
. Karena keterbatasan dalam Commodore Basic I / O, input dimasukkan satu angka pada satu waktu, dengan input -1 untuk menunjukkan akhir input. Output dibatasi-tab.)QBasic: 96 byte
Menggunakan skema I / O yang sama dengan entri DLosc; Saya melepas 15 byte dengan menggunakan fakta yang
INPUT V
mengembalikan 0 (yang bernilai false) ketika sebuah baris kosong dimasukkan (setidaknya dalam MS-DOS QBasic 1.1 - Saya tidak tahu apakah itu juga berfungsi di QB64).Pascal (FPC compiler): 172 byte
Input dipisahkan oleh spasi, bukan koma, dan diakhiri baris baru. Output dipisahkan oleh ruang.
Erlang: 401 byte
Penanganan tali di Erlang adalah rasa sakit kerajaan. Akibatnya, semua angka floating-point harus dimasukkan dengan setidaknya satu digit setelah titik desimal -
string:to_float/1
tidak akan dikonversi1
, tetapi akan dikonversi1.0
.(Lebih banyak yang akan datang, terutama jika saya mencari cara untuk melakukan ini di RoboTalk, bahasa yang tidak memiliki operasi floating-point atau I / O)
sumber
(Q/N)^.5
dengan sayaSQR(q/n)
, tapi itu tidak mempengaruhi panjangnya. Mungkin kita bisa berbagi petunjuk? (Saya membuat jumlah byte 96, tidak termasuk baris baru.)wc
) menyertakan baris baru, yang saya kira memberi kita keduanya petunjuk - setidaknya sampai saya mencari cara untuk menyingkirkan duplikat ituINPUT V
.GOTO
s bukan loop, tetapi tidak bisa mendapatkan pengurangan lebih lanjut.Bahasa: 3
Kecuali disebutkan sebaliknya, angka harus dipisahkan oleh ruang.
C:
181163Membawa angka hingga akhir input.
(ISO) C ++: 195
Membawa angka hingga akhir input.
Haskell:
185180164159149140Membawa banyak daftar angka yang dipisahkan dengan baris baru secara sewenang-wenang.
Pelaksanaan
5041 (terima kasih shiona) byte hanya untuk IO: /.Contoh
(Powershell's
echo
aliasWrite-Output
mencetak setiap parameter pada satu baris)sumber
;c=t/a
dalam klausa let, tulis[h,g,a/z,r,t/a]
setelahin
.s$m(1/)x
lebih pendek daris.m(1/)$x
apa adanyas$m(^2)x
.fromIntegral.length$x
denganfoldr(\_ x->x+1)0x
.s$m(const 1)x
.Bahasa - 4
Saya selalu suka alasan untuk menarik keluar tua yang baik
QBasic,
11296 byteQBasic tidak bagus dengan jumlah input variabel, jadi program ini membutuhkan satu nomor per baris, diakhiri dengan 0 atau baris kosong. Output dipisahkan dengan spasi.
(Dipersingkat begitu saya menyadari bahwa 0 bukan angka yang valid dan dapat digunakan untuk penghentian input.)
Diuji menggunakan QB64 :
Gangguan Umum, 183 byte
Untuk beberapa alasan saya berharap ini lebih pendek. Saya bukan jenis ahli Lisp, jadi tips sangat dihargai. Versi tidak disatukan:
Mungkin cara terbaik untuk menguji adalah dengan menempelkan fungsi ke dalam
clisp
REPL, seperti:Saya suka bagaimana Lisp menggunakan fraksi yang tepat daripada mengapung saat membagi dua bilangan bulat.
Prolog, 235 byte
Prolog tidak hebat dalam matematika, tapi kita tetap akan menggunakannya. Diuji dengan SWI-Prolog. Saya pikir
sumlist
predikatnya mungkin bukan Prolog standar, tapi apa pun, saya menggunakannya.Tidak Disatukan:
Di Linux, dengan kode dalam file bernama
means.pro
, uji seperti ini:Memberikan hasil yang benar tetapi lucu ketika hanya ada satu nomor:
Python 3, 103 byte
Strategi yang sama seperti versi Dennis's Python 2. Mengambil daftar angka yang dipisah koma; menangani int dan float. Input nomor tunggal harus dibungkus dengan kurung siku (dan daftar angka selalu mungkin ); perbaikan akan menelan biaya 4 byte.
sumber
8 Bahasa
Fortran 77 - 286
BBC BASIC - 131
Keluaran:
C ++ - 292
Python 3 - 151
Keluaran:
Jawa - 421
Javascript - 231
Saya bukan Javascripter sehingga tips apa pun akan sangat dihargai
Algoid - 337
Cari di Google Play Store atau Raspberry Pi Store
var'aQ - 376
Secara sintaksis ini benar dan semuanya, tetapi semua penerjemah saat ini tidak berfungsi ...
sumber
sqrt(b4/l)
bukannya(b4/l)**0.5
dan banyak lagi dengan menggunakana
,b
,c
,d
bukanb1-4
. Anda juga membuat saya menangis dengan menggunakan 77 bukannya F90 + yang lebih modern.var
:var l=readline(),b=0,d=1,e=0,f=0;
. Namun, tidak yakin apareadline
fungsinya.Length of sequence?
atau setidaknya membuatnya lebih pendek.Bahasa: 3
CJam, 58
TI-Basic, 85
Jawa, 457
sumber
{dim(Ans)/sum(Ansֿ¹),dim(Ans)√(prod(Ans)),mean(Ans),√(mean(Ans²)),mean(Ans²)/mean(Ans
Bahasa - 2
Cobra - 132
Python - 129
sumber
1 bahasa
R,
9291Mengambil vektor nilai dan mengeluarkan vektor nilai.
sumber
d=s(x^2)
dan mengganti dua penggunaans(x^2)
dengan yang terakhird
.1 Bahasa
Golfscript, 162
Ya, sangat besar. Dan itu pasti bisa dibuat lebih kecil. Yang akan saya lakukan beberapa waktu kemudian. Cobalah di sini .
Diharapkan input dipisahkan baris baru. Jika itu tidak diizinkan, saya akan memperbaikinya (+2 karakter). Ini mengeluarkan daftar baris baru yang dipisahkan.
Ini versi yang sedikit lebih mudah dibaca:
sumber
l*l
kali lebih tinggi, di manal
jumlah pelampung.Bahasa 2
Fortran: 242
Saya ungolfed itu untuk kejelasan, tetapi versi golf adalah apa yang dihitung. pertama-tama Anda harus memasukkan jumlah nilai yang akan ditambahkan, kemudian nilai-nilai tersebut.
wxMaxima 134
Salin ini ke editor,
ctrl+enter
dan panggil viam([1,2,3,4,5]),numer
untuk mendapatkan output floating point (jika tidak, Anda mendapatkan output simbolik).sumber
Perl,
8676Input: satu nomor per baris.
EDIT: ini adalah satu karakter lebih panjang, tetapi karena garis shebang tampaknya tidak dihitung terhadap total, akhirnya menjadi lebih baik:
sumber
T-SQL,
136122Dengan daftar nomor disimpan dalam tabel S dengan I (integer) mengidentifikasi daftar dan V (float) nilainya.
SQLFiddle
Disimpan 14 berkat Alchymist
sumber
Bahasa: 5
Beberapa entri berusaha untuk menghindari kesalahan pembulatan (ke 4 tempat desimal), menggunakan BigDecimal Java bukannya float / double, dan menerima aturan IO per OP.
Entri yang lebih baru mengendurkan aturan IO dan BigDecimal.
Groovy -
409400164157 karaktercontoh dijalankan:
Jawa -
900235 karaktercontoh dijalankan:
Clojure -
524324 karaktermenjalankan sampel (memiliki tanda koma di akhir):
Scala -
841663230 karaktercontoh dijalankan:
JRuby - 538 karakter
Tidak jelas apakah JRuby berbeda dari Ruby: ini harus dijalankan pada JVM. Namun itu adalah sintaksis Ruby. Either way, saya memasukkannya ke dalam semangat Rosetta Stone.
menjalankan sampel (mencetak peringatan ke stderr):
sumber
Bahasa 1
lua - 113
sumber
Bahasa - 1
Asyik:
sumber
2 Bahasa
Java - 243 byte
diperluas:
vba - excel, 387 byte
Isi nilai-nilai di kolom pertama, lalu tekan tombol (yang memicu kode ini) dan menghasilkan nilai-nilai di kolom kedua.
sumber
1 bahasa
Karat - 469
(
rustc 0.11.0-pre (3851d68 2014-06-13 22:46:35 +0000)
)Versi tidak disatukan:
Versi 430 byte yang dipadatkan tanpa loop atau input, untuk pengujian dalam playrust :
Diperbarui untuk Rust yang lebih baru:
Tidak Disatukan:
Golf (402 bytes):
sumber
Bahasa: 4
CoffeeScript, 193
Mengambil string input yang dipisahkan koma:
JavaScript (ES5), 256
Sekali lagi, ambil string input yang dipisahkan koma:
PHP, 252
Konsep yang sama:
TypeScript, 393 *
Karena TypeScript adalah superset JavaScript, saya bisa saja mengirimkan kode yang sama tetapi itu tidak benar-benar adil sekarang. Berikut adalah kode TypeScript yang diperkecil dengan semua fungsi, variabel, dan parameter yang diketik sepenuhnya:
Bisa menipu dan menggunakan tipenya
any
juga ... tapi, Anda tahu.sumber
Excel - 120
Tidak yakin apakah ini dianggap sebagai bahasa "pemrograman", tetapi orang berpikir mungkin benar-benar menggunakan spreadsheet untuk hal semacam ini
Dengan angka dalam A2: J2
sumber
A:A
untuk menargetkan seluruh kolomA
.VBA (Excel) - 105
Tidak Terkumpul:
Kode ini harus dijalankan di jendela langsung, dan array harus dipanggil i . Karena tidak ada koleksi kesalahan, tidak ada pembersihan, tidak ada variabel menjatuhkan / melepaskan, jika Anda ingin menguji kode ini Anda dapat menggunakan potongan kode berikut (cukup tempel di jendela langsung dan jalankan baris dalam urutan):
Tidak ada yang sangat istimewa, hanya pilihan untuk menggunakan jendela langsung dengan : untuk mengganti jeda baris, yang menghemat beberapa byte vs menyiapkan sub atau fungsi dan menutupnya; menggunakan? untuk mencetak daripada debug.print (hanya di jendela langsung); dan mengandalkan bagaimana vba menentukan nilai implisit (menambahkan nilai ke variabel yang tidak disetel mengembalikan nilai) dan operasi implisit (apa pun yang melibatkan string adalah rangkuman implisit).
sumber