Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: Mathematik und Physik ::  Fakultät in logarithmischer Lauftzeit berechnen  
Gehen Sie zu Seite 1, 2, 3, 4, 5, 6  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
CBR-Racer
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.12.2003
Beiträge: 15
Beitrag CBR-Racer Mitglied 20:27:17 05.12.2003   Titel:   Fakultät in logarithmischer Lauftzeit berechnen            Zitieren

Hallo Leute ...
ist mein erster Beitrag und dann gleich sowas kompliziertes ... also als ich diese Aufgabe gestellt gekriegt habe, war meine erster Gedanke, das geht gar nicht :rolleyes:
aber mein Prof sagte, mit einem Trick würde man das hinbekommen ... allerdings muss ich gestehen, den Trick habe ich noch nicht gefunden ...

kann mir von euch jemand nen Tip geben ??

danke schon mal im voraus
benutzername
Mitglied

Benutzerprofil
Anmeldungsdatum: 24.10.2003
Beiträge: 98
Beitrag benutzername Mitglied 20:30:26 05.12.2003   Titel:              Zitieren

Ich verstehe nicht einmal die Aufgabenstellung. Kannst Du etwas genauer formulieren?

_________________
Dies ist ein Text, der an jeden Beitrag von Ihnen angehängt werden kann. Es besteht eine Limit von 255 Buchstaben.
CBR-Racer
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.12.2003
Beiträge: 15
Beitrag CBR-Racer Mitglied 20:55:58 05.12.2003   Titel:              Zitieren

n! berechnen in zeit O(log n)

:confused: keine Ahnung wie ich das anders erklären soll ...
Walli
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.09.2002
Beiträge: 11011
Beitrag Walli Mitglied 20:58:05 05.12.2003   Titel:              Zitieren

Also die Fakultät in logarithmischer Laufzeit berechnen kannst du indem du sie rekursiv implementierst.
Griffin
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.03.2002
Beiträge: 2760
Beitrag Griffin Mitglied 20:58:52 05.12.2003   Titel:              Zitieren

du willst den algorithmus für die fakultät der eine logarithmische laufzeit hat, oder?!
rekursion! die rekursive definition findest du echt in jeden tafelwerk.

_________________
Beim Raufen gefürchtet, von Weibern verehrt, beim Saufen der Beste, sein Körper begehrt, weltlich gebildet, sein Lümmel wie ein Bein, das muss der Griffin aus dem Java Forum sein!

http://www.javacore.de - DIE Plattform für Javaiianer!


Zuletzt bearbeitet von Griffin am 20:59:40 05.12.2003, insgesamt 1-mal bearbeitet
Walli
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.09.2002
Beiträge: 11011
Beitrag Walli Mitglied 21:02:48 05.12.2003   Titel:              Zitieren

Siehe auch: http://www.volkard.de/vcppkold/rekursion.html
CBR-Racer
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.12.2003
Beiträge: 15
Beitrag CBR-Racer Mitglied 21:11:35 05.12.2003   Titel:              Zitieren

also danke erstmal für eure Antworten ... allerdings sehe ich das etwas anders ...
1) ich hatte es rekursiv programmiert ... und dann kam die Aufgabe, es halt in logarithmischer Laufzeit zu programmieren

2) würde ich behaupten, rekursiv programmiert ist es dann :rolleyes: logarithmisch zu n! aber nicht zu n
Walli
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.09.2002
Beiträge: 11011
Beitrag Walli Mitglied 22:12:03 05.12.2003   Titel:              Zitieren

Eine weitere Möglichkeit wäre die iterative. Die hat aber die Laufzeit O(n). Langsam gehen mir aber die Ideen aus. Ich kenne kaum noch Methoden wie man es sonst machen soll.
CBR-Racer
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.12.2003
Beiträge: 15
Beitrag CBR-Racer Mitglied 22:32:06 05.12.2003   Titel:              Zitieren

tja siehst du, genau das Problem habe ich auch ... also angeblich soll das gehen, halt mit einem Trick ... aber da ich zur Zeit echt keinen Plan habe, wie der Trick aussehen soll, habe ich einfahc mal diesen Beitrag hier geschrieben ...

vielleicht findet sich ja noch jemand, der eine Idee hat ...

aber danke
Walli
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.09.2002
Beiträge: 11011
Beitrag Walli Mitglied 22:54:50 05.12.2003   Titel:              Zitieren

Du könntest eine Lookup-Table lösung implementieren. Du codierst hart die Fakultäten für z.B. jeden 10. Integer ein, startest bei f[n % 10] aus deinem hartcodierten Array und machst von dort aus weiter. Dadurch kommst du je nach Höhe des n von der Laufzeit auf jeden Fall unter O(n) und O(log n). Der Nachteil ist, dass du die LUT immer an den Wertebereich des Ganzzahltyps anpassen musst.


Zuletzt bearbeitet von Walli am 22:57:57 05.12.2003, insgesamt 1-mal bearbeitet
c++.de :: Mathematik und Physik ::  Fakultät in logarithmischer Lauftzeit berechnen  
Gehen Sie zu Seite 1, 2, 3, 4, 5, 6  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.