Files
freeCodeCamp/curriculum/challenges/english/10-coding-interview-prep/project-euler/problem-92-square-digit-chains.md
Oliver Eyton-Williams ee1e8abd87 feat(curriculum): restore seed + solution to Chinese (#40683)
* feat(tools): add seed/solution restore script

* chore(curriculum): remove empty sections' markers

* chore(curriculum): add seed + solution to Chinese

* chore: remove old formatter

* fix: update getChallenges

parse translated challenges separately, without reference to the source

* chore(curriculum): add dashedName to English

* chore(curriculum): add dashedName to Chinese

* refactor: remove unused challenge property 'name'

* fix: relax dashedName requirement

* fix: stray tag

Remove stray `pre` tag from challenge file.

Signed-off-by: nhcarrigan <nhcarrigan@gmail.com>

Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
2021-01-12 19:31:00 -07:00

56 lines
1.1 KiB
Markdown

---
id: 5900f3c81000cf542c50fedb
title: 'Problem 92: Square digit chains'
challengeType: 5
forumTopicId: 302209
dashedName: problem-92-square-digit-chains
---
# --description--
A number chain is created by continuously adding the square of the digits in a number to form a new number until it has been seen before.
For example,
<div style='margin-left: 4em;'>
44 → 32 → 13 → 10 → <strong>1</strong><strong>1</strong><br>
85 → <strong>89</strong> → 145 → 42 → 20 → 4 → 16 → 37 → 58 → <strong>89</strong>
</div>
Therefore any chain that arrives at 1 or 89 will become stuck in an endless loop. What is most amazing is that EVERY starting number will eventually arrive at 1 or 89.
How many starting numbers below ten million will arrive at 89?
# --hints--
`squareDigitChains()` should return a number.
```js
assert(typeof squareDigitChains() === 'number');
```
`squareDigitChains()` should return 8581146.
```js
assert.strictEqual(squareDigitChains(), 8581146);
```
# --seed--
## --seed-contents--
```js
function squareDigitChains() {
return true;
}
squareDigitChains();
```
# --solutions--
```js
// solution required
```