Der kleinste Code, der die Fläche zwischen der Kurve p (x) = a 0 + a 1 * x + a 2 * x 2 + ..., der Linie y = 0, der Linie x = 0 und der Linie x = C angibt
(dh so ähnlich:
)
Sie können annehmen, dass p (x)> = 0 für x <C (Bonuspunkte, wenn Ihr Code für negative Werte von p (x) funktioniert).
Eingang
C, a 0 , a 1 , ...
Ausgabe
eine reelle Zahl - der Bereich
Beispiel 1:
input: 2, 0, 1
output: 2.0
Beispiel 2:
input: 3.0, 0, 0.0, 2
output: 18
AKTUALISIEREN:
- C> 0 wird ebenfalls angenommen
- Die Fläche liegt zwischen der Kurve, y = 0, x = C und x = 0
- Die Eingabe kann eine Liste beliebiger Form sein. nicht unbedingt durch Kommas getrennt.
- Die Ausgabe kann ein Real jeder Form sein (daher ist '18' eine gültige Ausgabe, ebenso wie '18 .0').
Antworten:
Mathematica: 48 Zeichen
.
quelle
Length@#
->Tr[1^#]
. Sie können@Input[]
auch eine Funktion weglassen und ausführen.Python -
7163 Zeichen:Es ist eine einfache Integration einer Polynomfunktion zwischen
0
undC
. Und ich habe es nicht getestet, aber ich bin mir ziemlich sicher, dass es für negative Werte funktioniert.quelle
input()
Heute etwas Neues gelernt :)Haskell, 85 Zeichen
quelle
J, 26 Zeichen
z.B
quelle
d.
ist eine Konjunktion, die es meinen Anfängern nicht leicht macht, sich mit J zu beschäftigen.Rubin, 65 Zeichen
Der Code liest bis zum Ende der Eingabe, nicht bis zum Ende der Zeile. Sie müssen also Ctrl+ Ddrücken, um die Eingabe zu beenden. (Pipe die Eingabe mit
echo
oder aus einer Datei.)quelle
c=gets(q=",").to_f
und$<.each(q){|a|s+=a.to_f*c**(i+=1)/i}
spart ein","
(oder?,
, was noch kürzer ist) zuweisen ,$/
können Sie das Argument für weglassen$<.each
. Und$<.map
ist ein Zeichen kürzer als$<.each
. ;)C GCC
186182 BytesDieses Programm gibt eine Ausgabe (Fläche) für jede Kurve zwischen der Kurve, y = 0, x = C und x = 0. Es können (
float
auch) Koeffizienten von 0 bis 48 verwendet werden . Nach der ersten akzeptierten EingabeC
folgen die Koeffizienten. Drücken SieÈnter
nach dem letzten Koeffizienten.quelle