Fórum - miestnosť f; r nápady

Čo je efektívnejšie?

miestnosť

Čo je efektívnejšie?

Príspevok od deung »Pon 10. decembra 2012 18:46

Nedávno sme na informačnej hodine mali za úlohu pripraviť program pre vzdorovanie strave.
Program by mal vypočítať trvanie procesu chudnutia, ak stratíte 2% svojej telesnej hmotnosti týždenne.

Pretože som chcel byť so svojím susedom obzvlášť inteligentný, samozrejme sme to celé videli ako exponenciálnu funkciu a mysleli sme si toto.

Re: čo je efektívnejšie?

Príspevok od cloidnerux »Po 10. decembra 2012 19:14

Na to nemôžeš takto odpovedať. Problém je v tom, ako kompilátor/tlmočník kóduje.
Tu sme testovali kód proti sebe: http: //www.proggen.org/doku.php? Id = project: wordcount
Výsledkom bolo, že som napísal kód, ktorý kompilátor implementoval tak dobre, a to aj bez ďalších optimalizácií, že patril medzi prvé tri, zatiaľ čo „optimalizovaný“ kód bol pomalší.

Samozrejme môžete zhruba odhadnúť, ako dlho niečo bude trvať. Vaše riešenie s logaritmom má takmer konštantnú dobu chodu bez ohľadu na počet. Smyčka bude trvať čoraz dlhšie, pretože sa rozdiel medzi počiatočnou a konečnou hmotnosťou zvyšuje, a poskytuje iba presné stanovenie jedného týždňa.

Ale bez ohľadu na runtime, vidím riešenie s logaritmom ako rozumnejší prístup, pretože nie sú absolútne potrebné žiadne slučky a logaritmus funguje lepšie, najmä pre veľké počty.
Okrem toho ste tiež poskytli dôkaz o správnosti svojho výsledku.