freeCodeCamp/curriculum/challenges/italian/10-coding-interview-prep/project-euler/problem-395-pythagorean-tre...

1.7 KiB

id title challengeType forumTopicId dashedName
5900f4f71000cf542c51000a Problema 395: Albero pitagorico 1 302060 problem-395-pythagorean-tree

--description--

L'albero pitagorico è un frattale generato dalla seguente procedura:

Inizia con un unità quadrata. Poi, chiamando uno dei lati la sua base (nell'animazione, il lato inferiore è la base):

  1. Attacca un triangolo rettangolo sul lato opposto alla base, con l'ipotenusa che coincide con quel lato e con i lati in un rapporto 3-4-5. Nota che il lato più piccolo del triangolo deve essere sul lato a 'destra' rispetto alla base (vedi animazione).
  2. Attacca un quadrato ad ogni gamba del triangolo rettangolo, con uno dei suoi lati che coincide con quella gamba.
  3. Ripeti questa procedura per entrambi i quadrati, considerando come loro basi i lati che toccano il triangolo.

La figura risultante, dopo un numero infinito di iterazioni, è l'albero pitagorico.

animazione che mostra 8 iterazioni della procedura

Si può dimostrare che esiste almeno un rettangolo, i cui lati sono paralleli al più grande quadrato dell'albero pitagorico, che racchiude completamente l'albero pitagorico.

Trova l'area più piccola possibile per un tale rettangolo di delimitazione, e dai la risposta arrotondata a 10 cifre decimali.

--hints--

pythagoreanTree() dovrebbe restituire 28.2453753155.

assert.strictEqual(pythagoreanTree(), 28.2453753155);

--seed--

--seed-contents--

function pythagoreanTree() {

  return true;
}

pythagoreanTree();

--solutions--

// solution required