Наименьший код, который дает область между кривой p (x) = a 0 + a 1 * x + a 2 * x 2 + ..., линией y = 0, линией x = 0 и линией x = C
(т.е. что-то вроде этого:
)
Вы можете предположить, что p (x)> = 0 для x <C (бонусные баллы, если ваш код работает для отрицательных значений p (x)).
вход
С, 0 , 1 , ...
Выход
реальное число - площадь
Пример 1:
input: 2, 0, 1
output: 2.0
Пример 2:
input: 3.0, 0, 0.0, 2
output: 18
ОБНОВИТЬ:
- C> 0 также предполагается
- площадь находится между кривой, у = 0, х = с и х = 0
- вход может быть списком любой формы; не обязательно через запятую
- выходные данные могут быть действительными в любой форме (таким образом, «18» является допустимым выходным значением, как и «18 .0»)
Ответы:
Mathematica: 48 символов
,
источник
Length@#
->Tr[1^#]
. Кроме того, вы можете опустить@Input[]
и сделать функцию.Python -
7163 символа:Это простая интеграция полиномиальной функции между
0
иC
. И я не проверял это, но я вполне уверен, что это работает для отрицательных значений.источник
input()
сегодняшнемХаскель, 85 символов
источник
J, 26 символов
например
источник
d.
соединение не делает мои навыки новичка очень легкими.Рубин, 65 символов
Код читает до конца ввода, а не до конца строки. Так что вам нужно нажать Ctrl+, Dчтобы завершить ввод. (Передайте входные данные в
echo
файле или из файла.)источник
c=gets(q=",").to_f
и$<.each(q){|a|s+=a.to_f*c**(i+=1)/i}
сохраняет один символ ....","
(или?,
, что еще короче) для$/
позволяет опустить аргумент для$<.each
. И$<.map
на один символ короче$<.each
. ;)C GCC
186182 байтаЭта программа дает вывод (площадь) для любой кривой между кривой, y = 0, x = C и x = 0. Также может принимать коэффициенты (
float
также) от 0 до 48 . За первым принятым вводомC
следуют коэффициенты. НажмитеÈnter
после последнего коэффициента.источник