var QUESTION_ID=60901,OVERRIDE_USER=30525;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
Ответы:
Зажим , 3
.s
стандартное отклонение,k
анализирует входные данные в форме{1,2,3}
.источник
Mathematica,
2422 байтаХорошо, Mathematica имеет встроенную функцию
StandardDevi...
... которая вычисляет стандартное отклонение выборки, а не стандартное отклонение совокупности.Но что, если мы используем
Variance
... о ... ту же сделку.Но есть еще одна связанная встроенная функция:
Ура. :)
Это также работает для 22 байтов:
И это за 27:
источник
Октава, 14 байт
Попробуйте это на Ideone .
источник
g=
так как дескриптору функции не нужно имя, чтобы быть верной отправкой.кдб + , 3 байта
Один из дериватов APL должен был иметь это как встроенный.
Тестовый забег
источник
Dyalog APL,
242321201917 байтовЭто определяет неназванную последовательность монадических функций, которая эквивалентна следующей функции.
Попробуйте их онлайн на TryAPL .
Как это устроено
Код состоит из нескольких поездов.
Это определяет монадическую 3-последовательность (разветвление),
M
которая выполняет+/
(сумма всех элементов) и≢
(длину) для правильного аргумента, затем применяет÷
(деление) к результатам, возвращая среднее арифметическое входных данных.Это еще один форк, который применяется
M
к правильному аргументу, повторяет его во второй раз и применяет×
(product) к результатам, возвращая μ 2 .Это еще один форк, который вычисляет квадрат среднего арифметического, как описано выше, применяет
×⍨
(произведение с самим собой) к правильному аргументу и, наконец, применяет-
(разницу) к результатам.Для ввода (x 1 ,…, x N ) эта функция возвращает (x 1 - μ 2 ,…, x N - μ 2 ) .
Эта составная функция применяется
M
к своему правильному аргументу*∘.5
. Последний использует право аргумент карринг применять ввод картыa
вa*0.5
(квадратный кореньa
).Наконец, мы имеем этот монадический 2-ряд (поверх), который сначала применяет правую функцию, затем левую к ее результату, вычисляя стандартное отклонение следующим образом.
источник
R,
414039363028 байткод
Благодаря мензурку , Alex A. и MickyT для гораздо байт.
старые коды
Это должно привести к стандартному отклонению населения.
источник
cat
для печати на консоли.^
для возведения в степень, что на байт короче, чем**
.mean
возвращает скаляр;sum
не имеет никакого эффекта 36 байтов:x=scan();cat(mean((x-mean(x))^2)^.5)
Pyth,
20191713 байтСпасибо @FryAmTheEggman за 4 байта в гольфе!
Попробуйте онлайн.
Как это устроено
источник
CJam,
242221 байтСпасибо @aditsu за вывод в гольф 1 байта!
Попробуйте онлайн в интерпретаторе CJam .
Как это устроено
источник
:mh
это гений, кстати :)Reduce by hypotenuse.
не то, что вы видите каждый день.APL, 24 байта
Немного другой подход, чем решение Dennis 'Dyalog APL . Это должно работать с любой реализацией APL.
Это создает безымянную монадическую функцию, которая вычисляет вектор ( x - µ ) 2 как
2*⍨⍵-+/⍵÷≢⍵
, делит это на N (÷≢⍵
), берет сумму этого вектора, используя+/
, и затем принимает квадратный корень (.5*⍨
).Попробуйте онлайн
источник
{
dfns}
,⍨
или≢
. Тем не менее, каждая версия поддерживаетR←F Y
R←(+/((Y-+/Y÷⍴Y)*2)÷⍴Y)*.5
Юлия,
2619 байтЭто создает безымянную функцию, которая принимает массив и возвращает число с плавающей запятой.
Неуправляемый, я думаю:
источник
TI-BASIC, 7 байтов
Я позаимствовал алгоритм, чтобы получить стандартное отклонение популяции от выборочного стандартного отклонения отсюда .
Самое короткое решение, без
augment(
которого я смог бы найти, - это 9 байт:источник
stdDev(
рассчитывает образец SD;stdDev(augment(Ans,{mean(Ans
вычисляет население SD. Это на странице, на которую вы ссылаетесь.Haskell, 61 байт
Просто, за исключением, может быть, моей пользовательской функции длины,
sum(n>>[1])
чтобы обмануть систему строгого типа Хаскелла.источник
sum(1<$n)
и<$>
дляmap
.Python 3.4+, 30 байт
Импортирует встроенную функцию
pstdev
, напримеристочник
pstdev
после первой строки все в порядке? Я думаю, что xnor сделал это некоторое время назад сsum
. Это как бы имеет смысл относительно того, как будут использоваться анонимные лямбды, т.е.p=pstdev
илиmap(pstdev, [...])
pstdev
хотя, какfrom statistics import*;pstdev
. В противном случае это может быть любая функция из этой библиотеки.JavaScript (ES6), 73 байта
источник
eval(a.join`+`)
вместоa.reduce((e,f)=>e+f)
Желе неконкурентоспособное
11 байт. Этот ответ не является конкурирующим, поскольку он использует язык, который задним числом.
Это прямой перевод моего ответа APL Jelly. Попробуйте онлайн!
Как это устроено
источник
J, 18 байт
Это прямой перевод моего ответа APL на J.
Попробуйте онлайн!
источник
M
было ли это встроенным заранее.M=:+/%#
это определение встроенной функции.M=:+/%#
сохраняет глагол+/%#
вM
, а затем вызывает его.Simplex v.0.5 , 43 байта
Просто потому что. Мне действительно нужно сыграть еще один байт.
источник
Пролог (SWI), 119 байт
Код:
Объяснение:
Пример:
Попробуйте это онлайн здесь
источник
Perl5,
393816 для скрипта
+22 для
M
коммутатора+ 1 для
E
коммутатора= 39
Проверено в клубнике 5.20.2.
О, но потом я понял, что вы сказали, что наши ответы могут быть функциями, а не программами. В этом случае,
только 38. Испытано в Strawberry 5.20.2, как
источник
Python, 57 байт
Принимает входной сигнал в виде списка
Благодаря @xnor
источник
.5
вместо того,0.5
чтобы сохранить байт. И ты имеешь в видуlen(x)
вместоlen(l)
?x
иl
нонсенс. Но вы все равно можете сделать ,.5
чтобы сохранить байты.sum((x-sum(l)/len(l))**2for x in l)
.lambda l:(sum(x*x*len(l)for x in l)-sum(l)**2)**.5/len(l)
.PowerShell, 122
объяснение
результат
источник
Fortran, 138 байт
Просто прямая реализация уравнения в Фортране:
источник
SmileBASIC, 105 байт (как функция)
Я только заметил, что это разрешено быть функцией. Ой, это резко уменьшает мой ответ. Это определяет функцию,
S
которая принимает массив и возвращает стандартное отклонение совокупности. Идите, прочитайте другой для объяснения, но пропустите часть анализа. Я не хочу делать это снова.Как программа, 212 байт
К сожалению, я должен взять список ввода в виде строки и разобрать его сам. Это добавляет более 100 байтов к ответу, поэтому, если разрешен какой-либо другой формат ввода, кроме списка через запятую, я буду рад его услышать. Также обратите внимание , что из - за
VAL
глючит, имеющие место перед запятой или задним струнные Перерывы программы. После запятой или в начале строки нормально.Разгромил и объяснил:
источник
Аксиома, 137 байт
Функция m () вернет среднее значение списка во входных данных. Обе функции по ошибке возвращают% i мнимую константу sqrt (-1). Код для теста и результатов. [но результат, если все в порядке, это действительная часть одного комплексного числа]
источник
Python 3 , 49 байт
Попробуйте онлайн!
Принимает
l
список целых чисел иN
количество имеющихся целых чисел.источник
Пыть , 13 байт
Реализует формулу для стандартного отклонения
источник