Kode terkecil yang memberikan area antara kurva p (x) = a 0 + a 1 * x + a 2 * x 2 + ..., garis y = 0, garis x = 0 dan garis x = C
(Yaitu sesuatu seperti ini:
)
Anda dapat mengasumsikan bahwa p (x)> = 0 untuk x <C (poin bonus jika kode Anda bekerja untuk nilai negatif dari p (x)).
Memasukkan
C, a 0 , a 1 , ...
Keluaran
bilangan real - area
Contoh 1:
input: 2, 0, 1
output: 2.0
Examlpe 2:
input: 3.0, 0, 0.0, 2
output: 18
MEMPERBARUI:
- C> 0 juga diasumsikan
- area berada di antara kurva, y = 0, x = C dan x = 0
- input dapat berupa daftar bentuk apa pun; belum tentu koma dipisahkan.
- output dapat berupa bentuk nyata apa pun (dengan demikian, '18' adalah output yang valid, seperti '18 .0 ')
Jawaban:
Mathematica: 48 Karakter
.
sumber
Length@#
->Tr[1^#]
. Anda juga dapat menghilangkan@Input[]
dan membuat suatu fungsi.Python -
7163 karakter:Ini adalah integrasi sederhana dari fungsi polinomial antara
0
danC
. Dan saya belum mengujinya, tapi saya cukup yakin itu bekerja untuk nilai negatif.sumber
input()
hari ini :)Haskell, 85 karakter
sumber
J, 26 karakter
misalnya
sumber
d.
menjadi konjungsi tidak membuatnya sangat mudah untuk keterampilan J pemula saya.Ruby, 65 karakter
Kode membaca hingga akhir input, bukan akhir baris. Jadi, Anda perlu menekan Ctrl+ Duntuk menghentikan input. (Pipa input dengan menggunakan
echo
atau dari file.)sumber
c=gets(q=",").to_f
dan$<.each(q){|a|s+=a.to_f*c**(i+=1)/i}
, menyimpan satu char ....","
(atau?,
, yang bahkan lebih pendek) untuk$/
memungkinkan Anda menghilangkan argumen$<.each
. Dan$<.map
satu karakter lebih pendek dari$<.each
. ;)C GCC
186182 byteProgram ini memberikan output (area) untuk setiap kurva antara kurva, y = 0, x = C dan x = 0. Itu dapat mengambil koefisien (
float
juga) dari 0 hingga 48 . Input yang diterima pertamaC
diikuti oleh koefisien. TekanÈnter
setelah koefisien terakhir.sumber