004
06.12.2003, 11:38 Uhr
Pablo
Supertux (Operator)
|
Das ist gar keine schlechte Idee.
Ich gebe dir ein Paar Ideen, die mir grad eingefallen sind. Du musst es nur rekursiv machen. 1.
Code: |
algorithmus geometrischereihe_aprox(wert,aprox) Variablen: wert - Fließkommazahl aprox - Integer { if (aprox == 0) return 1; return geometrischereihe_aprox(wert,aprox-1) + wert^aprox; }
|
das ist ein einfacher Algorithmus, der sich fast genauso in C/C++ umschreiben lässt. Laufzeit: O(n), aprox == n
2. Den Algorithmus von 1. benutzen und in eine for-Schleifen packen und überprüfen:
Code: |
algorithmus geometrische(wert) Variablen: wert - Fließkommazahl { do { n --> Wert, bei dem |geometrischereihe_aprox(wert,n-1) - geometrischereihe_aprox(wert,n)| <= epsilon > 0 ; setze flag FOUND als TRUE n --> n+1 } while (FOUND == FALSE) return geometrischereihe_aprox(wert,n); }
|
Laufzeit: OMEGA(n²), oder sogar expotential, ziemlich langsamer Algorithmus
3. Du fragst den Anwender, welche Aproximation er will, d.h. er muss die Grenze eingeben, bsp: 1000 und das Programm rechnet beispielsweise mit Tipp 1. den Wert.
Bearbeitung von Pablo: |
Ich habe es implementiert, wie ich es gesagt habe, hat gut funktioniert. Ich poste das aber später!
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 06.12.2003 um 17:55 Uhr von Pablo Yanez Trujillo editiert. |