würde ich mit der Berechnung 1/s
, beginnt die wir a
nennen.
Verwenden Sie dann eine for-Schleife, da bei der Verwendung von Rekursion in C möglicherweise ein Stapelüberlauf auftritt.
Da dies Hausaufgaben ist, werde ich nicht viel Code geben, aber, wenn Sie mit einer einfachen Schleife von 1 beginnen, dann erhöhen Sie es, bis Sie zu 4 kommen, dann können Sie einfach zu n-mal gehen.
Da Sie immer teilen werden 1/s
und Abteilung ist teuer, nur tun es einmal wird mit der Leistung helfen.
Ich erwarte, dass wenn Sie es herausfinden, Sie tatsächlich ein Muster finden können, das Ihnen helfen wird, weiter zu optimieren.
Sie können einen Artikel wie diesen finden: http://www.b-list.org/weblog/2006/nov/05/programming-tips-learn-optimization-strategies/, um hilfreich zu sein.
Ich nehme an performanceweise meinen Sie, dass Sie wollen, dass es schnell ist, unabhängig vom verwendeten Speicher, übrigens.
Sie können feststellen, dass Sie die von Ihnen berechneten Werte bei jedem Schritt zwischenspeichern, sodass Sie sie wiederverwenden können, anstatt eine teure Berechnung zu wiederholen.
Ich würde persönlich 4-5 Schritte von Hand machen, die Gleichungen und Ergebnisse jedes Schrittes ausschreiben und sehen, ob irgendein Muster auftaucht.
Update:
GCC hinzugefügt Endrekursion, und ich habe nie bemerkt es, weil ich versuche, aus Gewohnheit Rekursion stark in C, zu begrenzen. Aber diese Antwort hat eine schöne schnelle Erklärung der verschiedenen Optimierungen, die gcc basierend auf dem Optimierungslevel gemacht hat.
http://answers.yahoo.com/question/index?qid=20100511111152AAVHx6s
dies ist keine Hausaufgaben, weil meine Schule letzten Juli geschlossen ist, jetzt sitze ich in meinem Haus und ich versuche nur ein Problem zu lösen –
Da wirst du höchstwahrscheinlich selbst das lösen wollen, für den besten Lerneffekt, denke ich Es ist gut, diese Frage so zu behandeln, als wären es Hausaufgaben. – Svante