freeCodeCamp/curriculum/challenges/chinese/10-coding-interview-prep/project-euler/problem-295-lenticular-hole...

40 lines
1.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
id: 5900f4931000cf542c50ffa6
title: 问题295透镜孔
challengeType: 5
videoUrl: ''
---
# --description--
如果满足以下条件,我们称两个圆包围的凸面为透镜孔:
两个圆的中心都在晶格点上。
两个圆在两个不同的晶格点处相交。
被两个圆包围的凸区域的内部不包含任何晶格点。
考虑一下圈子: C0x2 + y2 = 25 C1x + 42+y-42 = 1 C2x-122+y-42 = 65
下图绘制了圆圈C0C1和C2。
C0和C1以及C0和C2形成一个透镜孔。
如果存在两个半径为r1和r2且形成一个透镜孔的圆我们将一个有序正实数对r1r2称为透镜对。 我们可以验证155√65是以上示例的双凸透镜对。
令LN为0 <r1≤r2≤N的不同双凸透镜对r1r2的数量。 我们可以验证L10= 30和L100= 3442。
求L100 000
# --hints--
`euler295()`应该返回4884650818。
```js
assert.strictEqual(euler295(), 4884650818);
```
# --solutions--