Mam totalne zaćmienie, może ktoś pomoże.

Mam N liczb ( max 8 ), i mam drugą liczbę K, i teraz chciałbym (jak najszybciej, wydajność jest kluczowa), znaleźć wszystkie kombinacje liczb tak aby suma tych liczb była większą lub równa K.

Ale jak juz przekroczy to nie chcę więcej liczb...hmm głupio piszę, więc przykład

powiedzmy,
  • 27
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

sortowanie nie bedzie rowne czasowi wyliczenia dla reszty ;)


@Roballo: hm..też się zaczynam nad tym zastanawiać, więc może i raacja, ok, lepiej nie będzie :)

Dzięki wszystkim, jutro pewnie wdrożę bo dziś się już przewracam (i to nie przenośnia)
  • Odpowiedz
@LowcaG: Jeśli to będzie realnie wykonywany algorytm to taki z większą liczbą działań może byc szybszy bo np. coś(jakiś typ działan) na poziomie niższym może wykonywać się szybciej z powodów kompliacji, procesora etc etc..
Przykładowo alg z sortowaniem może być dużo szybsze niż algorytm który go nie potrzebuje. Bo niezależnie od liczby obliczen w komendzie sortowania może sie ono wykonywać superszybko

Natomiast w twoim przypadku jak najbardziej zyskujemy na liczbie obliczeń.
  • Odpowiedz
Mirki, mam pytanko ( ͡° ͜ʖ ͡°)

Muszę obliczyć złożoność obliczeniową danej funkcji
f(n)=2n(3log(n)+n)+1

i mam sprawdzić
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy jest (na pewno jest;P) mirek, który ogarnia złożoność algorytmów. Przerabiam właśnie Cormena i nie rozumiem pewnej rzeczy, ale wolałbym pogadać o tym przez wiadomosć pryw.

#algorytmy
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Daxxx: Pętla wykona się N-1 razy. Tą operacją C1 jest zapewne inkrementacja zmiennej, więc ona wykona się N razy, ponieważ po zakończeniu wszystkich obrotów j == length[A] + 1 (for j=2; j <= length[A]; j++)
  • Odpowiedz
Schemat blokowy do wyboru światopoglądu dla osób przeżywających kryzys egzystencjalny (i nie tylko).

Duży rozmiar: http://i.imgur.com/mabRf.jpg . Propsy za dobre propozycje dalszych lektur.

#filozofia #rozwojosobisty #egzystencjalizm #depresja #rozwojosobisty #ateizm #nietzsche #taoizm #buddyzm #chrzescijanstwo #algorytmy #religia
eoneon - Schemat blokowy do wyboru światopoglądu dla osób przeżywających kryzys egzys...

źródło: comment_rfzNDqraUztVHnRIy1iYSpZYXfLxSbyS.jpg

Pobierz
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 3
Mam liczbę zapisaną w formacie float 32bit. Jak MANUALNIE przeliczyć go na jakiegoś inta?

Np. 123.75237 -> 12375
Czyli wywalić przecinek i zostawić określoną liczbę miejsc po przecinku. Nie pytajcie po co ()

Do dyspozycji mam normalne operacje matematyczne typu mnożenie, potęgowanie oraz operacje na bitach jakieś ANDy, shifty itp.
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@amalius: To chyba tak trochę nie bardzo... To jest zwykły round, a trzeba to jeszcze zamienić na inta bez rzutowania - a więc operując na bitach. I to jest główna część zadania. Ale to trochę inspirujące, bo w zasadzie można wykorzystać niejawne rzutowanie i liczyć w pętli naszego inta, poczynając od zera, inkrementując i sprawdzając czy już przekroczyliśmy wartość zadanego floata. ;) Ale to kretyńskie rozwiązanie.
  • Odpowiedz
@Gumaa: Nie ma sprawy ;)

Pisałeś "nie pytajcie po co", ale... z ciekawości, po co? :p Przede wszystkim, czemu nie masz dostępu do normalnego rzutowania? :p
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@IceGoral: Widać, że nie wiesz, o co chodzi w notacji asymptotycznej. Jakbyś w pętli zrobił x+=10 zamiast x=x+1, to byś dostał 10× większy wynik, a to i tak by nic nie znaczyło.
Zrób to tak: policz liczbę iteracji dla różnych wielkości n i podziel przez formułę spod O. Jeśli iloraz w miarę wzrostu n spada do 0 lub leci w kosmos, to formuła (=klasa złożoności) jest nieprawidłowa. Jeśli zaś iloraz
  • Odpowiedz
@IceGoral: Notacja O() pokazuje ograniczenie złożoności z góry, "czyli nie więcej niż". I jest to przypadek najgorszy. Gdy masz 3 pętle zagnieżdżone to bez liczenia możesz powiedzieć, że złożoność jest nie większa niż O(n^3). No chyba, że zmieni się złożoność kodu wykonywanego w najgłębszej pętli z O(1) na inną. Ogólnie formacje iteracyjnie zwiększają złożoność wielomianowo.
  • Odpowiedz
@Lacwik: Jak sam błąd mówi, wychodzisz gdzieś poza zakres w stringu.

EDIT: Sprawdź wszystkie pętle w programie. Szczególnie tam, gdzie poruszasz się po indeksach w stringu.
  • Odpowiedz
@Lacwik: Ustaw asercję przed każdym odwołaniem do danego elementu stringa, tj. assert(pozycjaktórąpróbujeszczytać < stringlen). Wtedy wywoła to abort() i dostaniesz crash report, będziesz mógł dokładnie przeanalizować gdzie popełniasz błąd. Potem szukasz konkretnego indeksu dla którego masz problem na przykładzie testowym.

Tego się nie da zgadnąć samym patrzeniem na kod.
  • Odpowiedz
Hejka Mirki, mam nietypowe pytanko. Słyszał może ktoś Was o czymś w rodzaju "gotowego algorytmu", który pozwoli na ocenę jakości zdjęcia profilowego (twarz człowieka)?
Załóżmy, że mam 5 fotek i na 3 osoba robi jakieś głupie miny w różnych pozycjach (przez to np. widać tylko czyiś profil, a nie całą twarz), a na dwóch pozostałych ma typowe zdjęcie z dowodu osobistego, czyli widać całą twarz i algorytm wykrywa te dwa zdjęcia jako
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach