Program w C

Awatar użytkownika
Damian905
Użytkownik
Użytkownik
Posty: 144
Rejestracja: 2 sty 2008, o 17:14
Płeć: Mężczyzna
Podziękował: 9 razy
Pomógł: 16 razy

Program w C

Post autor: Damian905 »

Witam! Mam problem z takim oto projektem, który musze oddac na informatyke:
Mamy płaszczyznę punktów o dowolnych współrzędnych. Wybieramy spośród nich trzy punkty, które tworzą trójkąt. Znajdź taki trójkąt którego koło opisane na nim opisane ma najwieksza wartość. Byłbym bardzo wdzięczny za pomoc.
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

Program w C

Post autor: Szemek »

\(\displaystyle{ A(x_a,y_a), \; B(x_b,y_b), \; C(x_c,y_c)}\)
\(\displaystyle{ a=|BC|=\sqrt{(x_c-x_b)^2+(y_c-y_b)^2} \\
b=|AC|=\sqrt{(x_c-x_a)^2+(y_c-y_a)^2} \\
c=|AB|=\sqrt{(x_b-x_a)^2+(y_b-y_a)^2} \\
P_{\blacktriangle} = \frac{1}{2}|(x_b-x_a)(y_c-y_a)-(x_c-x_a)(y_b-y_a)| \\
R = \frac{abc}{4P} \\
P_{\bullet} = \pi R^2}\)
Xitami

Program w C

Post autor: Xitami »

Ciekawym, czy można zrobić to lepiej niż sprawdzając \(\displaystyle{ {n\choose 3}}\) możliwości, a to \(\displaystyle{ O(n^3)}\), kiepsko.
Na moje oko nie.
Awatar użytkownika
Damian905
Użytkownik
Użytkownik
Posty: 144
Rejestracja: 2 sty 2008, o 17:14
Płeć: Mężczyzna
Podziękował: 9 razy
Pomógł: 16 razy

Program w C

Post autor: Damian905 »

Dzięki wielkie.
ODPOWIEDZ