55 lines
3.1 KiB
Markdown
55 lines
3.1 KiB
Markdown
|
---
|
|||
|
id: 5900f4db1000cf542c50ffee
|
|||
|
challengeType: 5
|
|||
|
title: 'Problem 367: Bozo sort'
|
|||
|
videoUrl: ''
|
|||
|
localeTitle: 'Задача 367: сортировка Бозо'
|
|||
|
---
|
|||
|
|
|||
|
## Description
|
|||
|
<section id="description"> Сортировка Bozo, чтобы не путать с немного менее эффективной сортировкой bogo, состоит в проверке, сортируется ли входная последовательность и если не произвольно меняет два элемента. Это повторяется до тех пор, пока в итоге последовательность не будет отсортирована. <p> Если мы рассмотрим все перестановки первых 4 натуральных чисел в качестве входных значений математического ожидания числа свопов, усредненных по всем 4! входные последовательности - 24,75. Уже отсортированная последовательность занимает 0 шагов. </p><p> В этой задаче рассмотрим следующий вариант на сортировке bozo. Если последовательность не в порядке, мы произвольно выбираем три элемента и произвольно перемешиваем эти три элемента. Все 3! = 6 перестановок этих трех элементов одинаково вероятны. Уже отсортированная последовательность займет 0 шагов. Если мы рассмотрим все перестановки первых 4 натуральных чисел в качестве входных значений математического ожидания количества перетасов, усредненных по всем 4! входные последовательности - 27,5. Рассмотрим в качестве входных последовательностей перестановки первых 11 натуральных чисел. Осредненный по всем 11! входные последовательности, каково ожидаемое количество тасований, которое будет выполнять этот алгоритм сортировки? </p><p> Дайте ваш ответ округленным до ближайшего целого. </p></section>
|
|||
|
|
|||
|
## Instructions
|
|||
|
undefined
|
|||
|
|
|||
|
## Tests
|
|||
|
<section id='tests'>
|
|||
|
|
|||
|
```yml
|
|||
|
tests:
|
|||
|
- text: <code>euler367()</code> должен возвратить 48271207.
|
|||
|
testString: 'assert.strictEqual(euler367(), 48271207, "<code>euler367()</code> should return 48271207.");'
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Challenge Seed
|
|||
|
<section id='challengeSeed'>
|
|||
|
|
|||
|
<div id='js-seed'>
|
|||
|
|
|||
|
```js
|
|||
|
function euler367() {
|
|||
|
// Good luck!
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
euler367();
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Solution
|
|||
|
<section id='solution'>
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|
|||
|
</section>
|