Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

pk1

budowanie trójkątów

Polecane posty

Zaproponuj algorytm dla następujacego zadania:

W skonczonym ciagu dodatnich liczb całkowitych, nie wiekszych niz miliard (to moze być dowolna inna liczba), reprezentujących długosci odcinków, należy znaleźć trzy takie liczby, że z odpowiadających im odcinków mozna zbudować trójkąt. Uwaga: Niech cię nie zdziwi zwiazek tego zadania z liczbami Fibonacciego.

 

Dostałam takie zadanie z olimpiady informatycznej do zrobienia. Studiuje matematyke wiec nie umiem tak dobrze programować w Pascalu. Dla dowolnych 3 odcinków wiem jak napisać program ale co z liczbami Fibonacciego??

 

Jeżeli ktos mi moze pomóc to bede wdzieczna. Jeżeli komuś zależy na korzyściach (zaplata) z tego to możemy sie dogadać. Mój nr gg 8325929. Prosze o jaknajszybszą pomoc jeśli to mozliwe.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Te liczby są posortowane na wejściu?

Jedyne co mi się obiło o uszy, to są drzewa fibonnaciego, ale nie wiem czy je trzeba użyć

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

ten program ma sprawdzać dla dowolnych 3 liczb. wiadomo że jeżeli są to 3 kolejne liczby ciagu fibonacciego bo nie tworzą one trójkąta ale co dla dowolnych?? jak napisać taki algorytm z uwzględnieniem liczb fibonacciego??

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

sortujesz sobie liczby w kolejności rosnącej

Sprawdzasz trzy ostatnie liczby - jeśli tworzą trójkąt to wypisujesz je i kończysz program, jeśli nie to usuwasz ostatni element i wykonujesz całość jeszcze raz ;)

 

Nie widzę tutaj związku z liczbami fibbonaciego ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Cóż, matematyczna, lepsza niż "trywialne". Musisz sprawdzić czy suma dwóch (dowolnyhc) boków jest większa od trzeciego, jeśli tak to trójką się złoży

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

cos takiego??? to fragment programu z jednym warunkiem, a maja byc 3 warunki ?

uses crt;

var

a,b,c,d,e,f: integer;

begin

 

writeln ('podaj dlugosc pierwszego odcinka');

readln (a);

writeln ('podaj dlugosc drugiego odcinka');

readln (B);

writeln ('podaj dlugosc trzeciego odcinka');

readln ©;

d:= a+b;

e:= a+c;

f:= b+c;

if d>c then

 

begin

writeln ('z tych odcinkow da sie skonstruowac trojkat');

readln;

end;

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bardzo ładne kolorowanie składni. Pomyśl, że te zmienne "e" i "f" nie są tam bez powodu i coś z nimi porównać trzeba

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

poprawności odcinków budujących trójkąt :

 

 

wersja a)

 
p:=(a+b+c)/2;
if (p-a)*(p-b)*(p-c)>0 then buduj;
6ui'
if (a+b>c)and(b+c>a)and(c+a>b) then buduj;

 

edit:poprawione

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

×