freeCodeCamp/curriculum/challenges/chinese/08-coding-interview-prep/project-euler/problem-55-lychrel-numbers....

64 lines
2.6 KiB
Markdown
Raw Normal View History

---
id: 5900f3a31000cf542c50feb6
challengeType: 5
title: 'Problem 55: Lychrel numbers'
videoUrl: ''
localeTitle: 问题55Lychrel数字
---
## Description
<section id="description">如果我们采取47反向并添加47 + 74 = 121这是回文。并非所有数字都如此迅速地产生回文。例如349 + 943 = 1292,1292 + 2921 = 4213 4213 + 3124 = 7337也就是说349进行了三次迭代以到达回文。虽然还没有人证明这一点但据认为有些数字如196从未产生回文。通过反向和添加过程从不形成回文的数字称为Lychrel数。由于这些数字的理论性质并且出于这个问题的目的我们将假设一个数字是Lychrel直到证明不是这样。另外对于每万个低于一万的数字你将得到i在不到五十次迭代中成为回文或者ii没有一个具有所有存在的计算能力到目前为止已经管理到将它映射到回文结构。事实上10677是第一个在产生回文之前需要超过50次迭代的数字466873159668422486695137866453次迭代28位数。令人惊讶的是有一些回文数字本身就是Lychrel数字;第一个例子是4994.有多少Lychrel数字在<code>num</code>以下2007年4月24日略微修改了措辞以强调Lychrel数的理论性质。 </section>
## Instructions
<section id="instructions">
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: <code>countLychrelNumbers(1000)</code>应该返回13。
testString: 'assert.strictEqual(countLychrelNumbers(1000), 13, "<code>countLychrelNumbers(1000)</code> should return 13.");'
- text: <code>countLychrelNumbers(5000)</code>应该返回76。
testString: 'assert.strictEqual(countLychrelNumbers(5000), 76, "<code>countLychrelNumbers(5000)</code> should return 76.");'
- text: <code>countLychrelNumbers(10000)</code>应该返回249。
testString: 'assert.strictEqual(countLychrelNumbers(10000), 249, "<code>countLychrelNumbers(10000)</code> should return 249.");'
- text: 你的函数应该计算所有Lychrel数。
testString: 'assert.strictEqual(countLychrelNumbers(3243), 39, "Your function should count all Lychrel numbers.");'
- text: 您的函数应该通过所有测试用例。
testString: 'assert.strictEqual(countLychrelNumbers(7654), 140, "Your function should pass all test cases.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function countLychrelNumbers(num) {
// Good luck!
return true;
}
countLychrelNumbers(10000);
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>