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

1.9 KiB

id title challengeType forumTopicId dashedName
5900f4971000cf542c50ffaa Problema 299: Três triângulos similares 5 301951 problem-299-three-similar-triangles

--description--

Quatro pontos com coordenadas em números inteiros são selecionadas:

A(a, 0), B(b, 0), C(0, c) e D(0, d), com 0 < a < b and 0 < c < d.

O ponto P, também com coordenadas em número inteiros, é escolhido na linha AC de modo que os três triângulos, ABP, CDP e BDP, são todos similares.

pontos A, B, C, D e P criando três triângulos: ABP, CDP e BDP

É fácil provar que os três triângulos podem ser similares apenas se a = c.

Então, dado que a = c, estamos procurando por trios (a, b, d), de modo que pelo menos um ponto P (com coordenadas em números inteiros) existe em AC, tornando todos os três triângulos ABP, CDP e BDP similares.

Por exemplo, se (a, b, d) = (2, 3, 4), pode ser facilmente verificado que o ponto P(1, 1) satisfaz a condição acima. Observe que os trios (2,3,4) e (2,4,3) são considerados distintos, embora o ponto P(1, 1) seja comum para ambos.

Se b + d < 100, existem 92 trios distintos (a, b, d) de modo que o ponto P exista.

Se b + d < 100.000, existem 320471 trios distintos (a, b, d) de modo que o ponto P exista.

Se b + d < 100.000.000, quantos trios distintos (a, b, d) existem de modo que o ponto P exista?

--hints--

threeSimilarTriangles() deve retornar 549936643.

assert.strictEqual(threeSimilarTriangles(), 549936643);

--seed--

--seed-contents--

function threeSimilarTriangles() {

  return true;
}

threeSimilarTriangles();

--solutions--

// solution required