Skocz do zawartości


budowanie trójkątów


19 odpowiedzi w tym temacie

#1 pk1

    Nowy na forum

  • Użytkownicy
  • 3 Postów:

Napisano pon, 08 paź 2007 - 20:18

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.

#2 KKKas

    Guru

  • Super użytkownicy
  • 780 Postów:
  • Gadu-Gadu:2541640

Napisano pon, 08 paź 2007 - 20:24

Przenieść do działu ogłoszenia.

#3 Force

    Nowy na forum

  • Super użytkownicy
  • 1138 Postów:

Napisano pon, 08 paź 2007 - 20:29

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ć

#4 pk1

    Nowy na forum

  • Użytkownicy
  • 3 Postów:

Napisano pon, 08 paź 2007 - 20:40

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??

#5 Force

    Nowy na forum

  • Super użytkownicy
  • 1138 Postów:

Napisano pon, 08 paź 2007 - 20:43

Oj pytam się, czy dostajesz liczby posortowane na wejściu czy nie

#6 pk1

    Nowy na forum

  • Użytkownicy
  • 3 Postów:

Napisano pon, 08 paź 2007 - 20:58

nie muszą być posortowane. ale to jes najmniejszy problem.

#7 lewymati

    Starszy bywalec

  • Super użytkownicy
  • 123 Postów:

Napisano śro, 10 paź 2007 - 16:21

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 wink.gif

Nie widzę tutaj związku z liczbami fibbonaciego wink.gif

#8 pauletsonka

    Nowy na forum

  • Użytkownicy
  • 9 Postów:

Napisano śro, 24 paź 2007 - 22:07

a jak bedzie wygladal program, ktory sprawdza czy z dowolnych 3 odcinkow mozna skonstruowac trojkat??

#9 5corpio

    Guru

  • Super użytkownicy
  • 874 Postów:

Napisano śro, 24 paź 2007 - 22:33

Suma 2 boków > od trzeciego ? czy jakoś tak to było ;p

#10 pauletsonka

    Nowy na forum

  • Użytkownicy
  • 9 Postów:

Napisano czw, 25 paź 2007 - 00:48

ale mi odpowiedz....

#11 Force

    Nowy na forum

  • Super użytkownicy
  • 1138 Postów:

Napisano czw, 25 paź 2007 - 07:01

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

#12 pauletsonka

    Nowy na forum

  • Użytkownicy
  • 9 Postów:

Napisano czw, 25 paź 2007 - 14:02

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 (cool.gif;
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;

#13 KKKas

    Guru

  • Super użytkownicy
  • 780 Postów:
  • Gadu-Gadu:2541640

Napisano czw, 25 paź 2007 - 14:25

Cio????????

#14 Force

    Nowy na forum

  • Super użytkownicy
  • 1138 Postów:

Napisano czw, 25 paź 2007 - 16:41

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

#15 pauletsonka

    Nowy na forum

  • Użytkownicy
  • 9 Postów:

Napisano czw, 25 paź 2007 - 19:28

no napisane jest przeciez, ze to fragment... co nie ? tongue.gif
ale cos w tym stylu?

#16 pauletsonka

    Nowy na forum

  • Użytkownicy
  • 9 Postów:

Napisano czw, 25 paź 2007 - 19:30

e>b
f>a??
tak ma byc ?? tak?

#17 oksal

    Starszy bywalec

  • Super użytkownicy
  • 102 Postów:

Napisano czw, 25 paź 2007 - 19:32

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


wersja a)
delphi

 
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

#18 pauletsonka

    Nowy na forum

  • Użytkownicy
  • 9 Postów:

Napisano wto, 30 paź 2007 - 21:45

Ale jak wezme boki 2, 2, 1, to przy wersji B nie zbuduje niby trojkata. a przeciez zbuduje i jest to trojkat rownoramienny!!

#19 5corpio

    Guru

  • Super użytkownicy
  • 874 Postów:

Napisano wto, 30 paź 2007 - 21:50

Oksal chyba masz błąd:

Cytat

(a-b>c)and(b-c>a)and(c-a>b)


Nie powinny być sumy przypadkiem a nie różnice ?

#20 oksal

    Starszy bywalec

  • Super użytkownicy
  • 102 Postów:

Napisano wto, 30 paź 2007 - 22:21

Masz rację, sumy mają być. Cholera ze tez tego nie zauważyłem ...