freeCodeCamp/curriculum/challenges/chinese/08-coding-interview-prep/project-euler/problem-144-investigating-m...

56 lines
1.8 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: 5900f3fc1000cf542c50ff0f
challengeType: 5
title: 'Problem 144: Investigating multiple reflections of a laser beam'
videoUrl: ''
localeTitle: 问题144研究激光束的多次反射
---
## Description
<section id="description">在激光物理学中“白色单元”是镜像系统其充当激光束的延迟线。光束进入细胞在镜子上反弹最终恢复原状。我们将考虑的特定白色单元是椭圆形其等式为4x2 + y2 = 100。顶部对应于-0.01≤x≤+ 0.01的部分缺失,允许光线通过孔进入和退出。 <p>此问题中的光束从白色单元外部的点0.0,10.1开始光束首先在1.4-9.6)处撞击镜子。每次激光束撞击椭圆的表面时,它遵循通常的反射定律“入射角等于反射角”。也就是说,入射光束和反射光束都与入射点处的法线形成相同的角度。在左图中,红线表示激光束与白色单元壁之间的前两个接触点;蓝线表示在第一次反弹入射点处与椭圆相切的直线。给定椭圆的任意点xy处的切线的斜率m为m = -4x / y法线为垂直于入射点处的该切线。右侧的动画显示了光束的前10个反射。 </p><p>在离开之前,光束到达白细胞内表面的次数是多少? </p></section>
## Instructions
<section id="instructions">
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: <code>euler144()</code>应返回354。
testString: 'assert.strictEqual(euler144(), 354, "<code>euler144()</code> should return 354.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function euler144() {
// Good luck!
return true;
}
euler144();
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>