Простой способ понять единичный n-мерный гиперкуб - это рассмотреть область пространства в n измерениях, которую можно получить, если каждый компонент координат лежит в [0, 1]. Таким образом, для одного измерения это отрезок от 0 до 1, для двух измерений - квадрат с углами (0, 0) и (1, 1) и т. Д.
Напишите программу или функцию, которая при заданном n возвращает среднее евклидово расстояние двух точек, равномерно выбранных случайным образом из гиперкуба единичной n-размерности. Ваш ответ должен быть в пределах 10 -6 от фактического значения. Это нормально, если ваш ответ переполняет собственный тип с плавающей запятой вашего языка для больших n.
Случайный выбор «большого» количества точек и вычисление среднего значения не гарантирует такой точности.
Примеры:
1 → 0,3333333333 ...
2 → 0,5214054331 ...
3 → 0,6617071822 ...
4 → 0,7776656535 ...
5 → 0,8785309152 ...
6 → 0,9689420830 ...
7 → 1,0515838734 ...
8 → 1,1281653402 ...
Данные получены из MathWorld .
Это код-гольф , побеждает наименьшее количество байтов.
Ответы:
Mathematica, 68 байт
Реализация формулы с использованием
NIntegrate
для аппроксимации ее значения.источник
u√π
как один токен, поэтому вам нужно пробел междуu
и√
.