freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-299-three-similar-t...

2.4 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f4971000cf542c50ffaa 5 Problem 299: Three similar triangles Проблема 299: Три похожих треугольника

Description

Выбираются четыре точки с целыми координатами: A (a, 0), B (b, 0), C (0, c) и D (0, d), с 0 <a <b и 0 <c <d. Точка P, также с целыми координатами, выбирается на линии AC так, чтобы три треугольника ABP, CDP и BDP были одинаковыми.

Нетрудно доказать, что три треугольника могут быть похожими, только если а = с.

Итак, учитывая, что a = c, мы ищем триплеты (a, b, d), так что на AC существует по крайней мере одна точка P (с целыми координатами), что делает три треугольника ABP, CDP и BDP одинаковыми.

Например, если (a, b, d) = (2,3,4), легко проверить, что точка P (1,1) удовлетворяет указанному выше условию. Заметим, что триплеты (2,3,4) и (2,4,3) считаются различными, хотя точка P (1,1) является общей для обоих.

Если b + d <100, то существует 92 различных триплета (a, b, d), для которых существует точка P. Если b + d <100 000, существует 320471 различных триплетов (a, b, d), так что точка P существует. Если b + d <100 000 000, сколько четких триплетов (a, b, d) существует, так что точка P существует?

Instructions

Tests

tests:
  - text: <code>euler299()</code> должен вернуть 549936643.
    testString: 'assert.strictEqual(euler299(), 549936643, "<code>euler299()</code> should return 549936643.");'

Challenge Seed

function euler299() {
  // Good luck!
  return true;
}

euler299();

Solution

// solution required