--- title: Babbage problem id: 594db4d0dedb4c06a2a4cefd localeTitle: 594db4d0dedb4c06a2a4cefd challengeType: 5 --- ## Description

Charles Babbage , mirando el tipo de problemas que su motor analítico podría resolver, dio este ejemplo:

What is the smallest positive integer whose square ends in the digits 269,696?

- Babbage, carta a Lord Bowden, 1837; ver Hollingdale y Tootill, Electronic Computers , segunda edición, 1970, pág. 125.

Pensó que la respuesta podría ser 99,736, cuyo cuadrado es 9,947,269,696; pero no podía estar seguro.

La tarea es averiguar si Babbage tuvo la respuesta correcta.

Implemente una función para devolver el entero más bajo que satisfaga el problema de Babbage. Si Babbage tenía razón, devuelve el número de Babbage.

## Instructions
## Tests
```yml tests: - text: babbage es una función. testString: 'assert(typeof babbage === "function", "babbage is a function.");' - text: ' babbage(99736, 269696) no debe devolver 99736 (hay una respuesta más pequeña).' testString: 'assert.equal(babbage(babbageAns, endDigits), answer, "babbage(99736, 269696) should not return 99736 (there is a smaller answer).");' ```
## Challenge Seed
```js function babbage (babbageNum, endDigits) { // Good luck! return true; } ```
### After Test
```js console.info('after the test'); ```
## Solution
```js function babbage (babbageAns, endDigits) { const babbageNum = Math.pow(babbageAns, 2); const babbageStartDigits = parseInt(babbageNum.toString().replace('269696', ")); let answer = 99736; // count down from this answer and save any sqrt int result. return lowest one for (let i = babbageStartDigits; i >= 0; i--) { const num = parseInt(i.toString().concat('269696')); const result = Math.sqrt(num); if (result === Math.floor(Math.sqrt(num))) { answer = result; } } return answer; } ```