2018-10-10 22:03:03 +00:00
|
|
|
|
---
|
|
|
|
|
id: 5900f4971000cf542c50ffaa
|
2020-12-16 07:37:30 +00:00
|
|
|
|
title: 问题299:三个相似的三角形
|
2018-10-10 22:03:03 +00:00
|
|
|
|
challengeType: 5
|
|
|
|
|
videoUrl: ''
|
|
|
|
|
---
|
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
# --description--
|
|
|
|
|
|
2020-02-17 16:40:55 +00:00
|
|
|
|
选择了四个具有整数坐标的点:A(a,0),B(b,0),C(0,c)和D(0,d),
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
|
|
|
|
其中0
|
2020-02-17 16:40:55 +00:00
|
|
|
|
|
|
|
|
|
仅当a = c时,容易证明三个三角形可以相似。
|
|
|
|
|
|
|
|
|
|
因此,给定a = c,我们正在寻找三元组(a,b,d),使得AC上至少存在一个点P(具有整数坐标),从而使三个三角形ABP,CDP和BDP都相似。
|
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
例如,如果(a,b,d)=(2,3,4),则可以容易地验证点P(1,1)满足上述条件。 请注意,三点式(2,3,4)和(2,4,3)被认为是截然不同的,尽管点P(1,1)对于两者而言是共同的。
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
如果b + d <100,则存在92个不同的三元组(a,b,d),从而存在点P. 如果b + d <100000,则存在320471个不同的三元组(a,b,d),从而存在点P. 如果b + d <100000000,那么有几个不同的三元组(a,b,d)使得点P存在?
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
# --hints--
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
`euler299()`应该返回549936643。
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
|
|
|
|
```js
|
2020-12-16 07:37:30 +00:00
|
|
|
|
assert.strictEqual(euler299(), 549936643);
|
2018-10-10 22:03:03 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
# --solutions--
|
2020-08-13 15:24:35 +00:00
|
|
|
|
|