64 lines
1.2 KiB
Markdown
64 lines
1.2 KiB
Markdown
|
---
|
||
|
id: 5
|
||
|
localeTitle: 5900f4b01000cf542c50ffc2
|
||
|
challengeType: 5
|
||
|
title: 'Problem 323: Bitwise-OR operations on random integers'
|
||
|
---
|
||
|
|
||
|
## Description
|
||
|
<section id='description'>
|
||
|
Sean y0, y1, y2, ... una secuencia de enteros de 32 bits sin signo aleatorios
|
||
|
(es decir, 0 ≤ yi <232, cada valor es igualmente probable).
|
||
|
Para la secuencia xi se da la siguiente recursión: x0 = 0 y
|
||
|
xi = xi-1 | yi-1, para i> 0. (| es el operador OR a nivel de bits)
|
||
|
Se puede ver que eventualmente habrá un índice N tal que xi = 232 -1 (un patrón de bits de todos) para todos i ≥ N.
|
||
|
|
||
|
Encuentre el valor esperado de N.
|
||
|
Dé su respuesta redondeada a 10 dígitos después del punto decimal.
|
||
|
</section>
|
||
|
|
||
|
## Instructions
|
||
|
<section id='instructions'>
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Tests
|
||
|
<section id='tests'>
|
||
|
|
||
|
```yml
|
||
|
tests:
|
||
|
- text: <code>euler323()</code> debe devolver 6.3551758451.
|
||
|
testString: 'assert.strictEqual(euler323(), 6.3551758451, "<code>euler323()</code> should return 6.3551758451.");'
|
||
|
|
||
|
```
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Challenge Seed
|
||
|
<section id='challengeSeed'>
|
||
|
|
||
|
<div id='js-seed'>
|
||
|
|
||
|
```js
|
||
|
function euler323() {
|
||
|
// Good luck!
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
euler323();
|
||
|
```
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Solution
|
||
|
<section id='solution'>
|
||
|
|
||
|
```js
|
||
|
// solution required
|
||
|
```
|
||
|
</section>
|