Wpis z mikrobloga

Jakiego algorytmu użyć do rozwiązania takiego zadania: W ciągu siedmiu dni (tydzień), sprzedawca ma obowiązek kupić i sprzedać np. jabłka z jak największym zyskiem. Taki algorytm ma za zadanie przeanalizować te siedem elementów i określić w którym dniu tygodnia najlepiej kupić a kiedy sprzedać. Jak do tego podejść? #programowanie #naukaprogramowania
  • 10
  • Odpowiedz
@czajqa: to jest zadanie maksymalizacji. Możesz użyć algorytmu brute force który sprawdzi wszystkie kombinacje xD

Najprościej to niech kupi tyle jabłek ile może w dni jak są najtańsze a wszystkie sprzeda w dniu jak są najdroższe ¯\_(ツ)_/¯
  • Odpowiedz
@kebab-case: Tylko w tygodniu może kupić tylko jedno jabłko (jablko to przykład) i je sprzedać i chodzi o to, żeby jak najwięcej zarobić. No i wiadomo, że najpierw trzeba kupić a potem sprzedać, więc kupno w niedziele odpada. Hmm miałem nadzieje, że da się to zrobić inaczej niż sprawdzać wszystko
  • Odpowiedz
@czajqa: wydaję mi się że właśnie najlepszym rozwiązaniem będzie analiza wszystkiego i sprawdzenie wszystkiego, bo skund ten komputer bydzie widzioł kaj tty chcesz

  • Odpowiedz
@czajqa: Inicjujesz tak – najtańszy dzień, wybrany dzień zakupu i wybrany dzień sprzedaży na dzień pierwszy.
Dalej robisz pętlę od dnia drugiego do ostatniego i modyfikujesz:
1) Jeśli tego dnia cena jest niższa, niż była w najtańszym dniu, to ten dzień zapamiętujesz jako najtańszy (ale nie koniecznie wybrany).
2) Jeśli tego dnia cena była wyższa, niż była w wybranym dniu sprzedaży, to ustawiasz wybrany dzień sprzedaży na ten dzień.
3) Jeśli
  • Odpowiedz
@GallAnonimus: To rozwiązanie będzie optymalne tylko jeśli założyć ograniczoną podaż i nieograniczony budżet. Czyli wtedy gdy sprzedawca może zakupić cały dostępny towar jednego dnia (ma wystarczającą ilość gotówki), a ilość towaru który może przehandlować jest z góry ograniczony, np. 50 jabłek. W przypadku gdy podaż jest nieograniczona a ograniczony jest budżet to rozwiązanie nie da optymalnego rozwiązania. Dlaczego?
Wystarczy, że rozkład cen będzie następujący:
1. $2
2. $9
3. 1$
4.
  • Odpowiedz
@brzdekajacy-taboret: budżet jest bardzo ograniczony - czajqa napisał, że w tygodniu może kupić tylko jedno jabłko i je sprzedać - czyli mamy limit jednej transakcji - doprecyzował to później, choć na początku też pytał o dzień (jeden), a nie dni, w których należy kupić / sprzedać.
  • Odpowiedz