Summe mit 45 nachkommastellen

Joptionpane

Aktives Mitglied
Abend an alle,
habe als Übung für die kommende Klausur folgende Aufgabenstellung:
Gegeben sei folgende Formel:
f(n) = die summe von i=1 bis n für: (i/(i+1))
mit n∈ℤ


Implementieren Sie diese Formel einmal rekursiv und einmal iterativ. Gehen Sie davon
aus, dass die Werte von n kleiner als zwei Milliarden sind und für die Genauigkeit von f(n)
mindestens 45 Binärstellen nach dem Komma gefordert werden. Wählen Sie die
Datentypen sinnvoll und schreiben Sie ein Hauptprogramm, welches das Ergebnis von
f(19) mit beiden Varianten ausrechnet und die Ergebnisse ausgibt.

-Meine erste frage wäre nun ,ob es so stimmt(rein rechnerisch gesehen)?
-Wie krieg ich es auf 45 nachkommastellen hin?
-Wie könnt ich es rekursiv machen, habe da keinerlei ansatz.


Mein code wäre jetzt mal nur in der main zu finden und würde so aussehen:

Java:
	public static void main(String []args){
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("Bitte geben sie eine Zahl ein");
		
		int n = sc.nextInt();
		double summe = 0;

		for (double i = 1; i<=n; i++){
			
			summe += (i/(i+1));
			
		}
		
		System.out.println("Ergebnis = " + summe);
		
	}
}
 

HimBromBeere

Top Contributor

Also entweder das sollt 45 nachkommastellen heißen, was ich mir aber nur schwer vorstellen kann, da es keinen Datentypen gibt, der (nativ) eine solche Genauaigkeit mitmacht. 45Byte wären als Interpretaion auch möglich, das wäre jedoch ein enorm großer Datentyp.

Wie dem auch sei, du musst unterscheiden zwischen Genauigkeit und Anzahl der Nachkommastellen. Letztere können eigtl. unnendlich gro0 sein, ohne das du Schwierigkeiten bekommst, aber ob diese Zahlen auch tatsächlich dein gewünschtes Ergebnis repärsentieren (Paradebsp. dafür sind solche Zahlen wie 0.9999999789 anstelle von 1), ist fraglich (Genauigkeit beachten)
 

Marco13

Top Contributor
45 Binärstellen - so viel hat double. Dezimalstellen sind's weniger.

Rekursiv... macht da IMHO nicht viel Sinn... sowas wie
summe(n+1) = summe(n) + einElement
wäre ja witzlos...
 

Joptionpane

Aktives Mitglied
@Marco

wie meinst du des mit:" soviel hat double" ?
wenn ich beispielsweise das Programm für n=4 ablaufen lasse kommt da:
2.716666666666667 raus.
ist ja klar:
1/2 + 2/3 + 3/4 + 4/5.

Ich weiß jetzt nur das Double 8Byte hat, dezimal sollten es normal 16 sein soweit ich es weiß(bei double).
Was nun der Prof. mit 45 Binärstellen meint weiß ich auch nicht, ist direkt so von der Übung rauskopiert die Aufgabe.


Zum Thema rekursiv hast du möglicherweise recht, jedoch bringt mir das nicht viel wenn es in der Prüfung so abverlangt wird, darum will ich es jetzt zumindest kappieren ((=

lg



edit: sehe eben dein neuen Post, sprich da könnt auch statt den 45Binärstellen(aus der Aufgabestellung) einfach stehen: gebe es für mind. 10 Nachkommastellen(oder wieviel jetzt auch 45 Binärstellen entsprechen) ???
 

Dekker

Bekanntes Mitglied
@Marco

wie meinst du des mit:" soviel hat double" ?
wenn ich beispielsweise das Programm für n=4 ablaufen lasse kommt da:
2.716666666666667 raus.
ist ja klar:
1/2 + 2/3 + 3/4 + 4/5.

Ich weiß jetzt nur das Double 8Byte hat, dezimal sollten es normal 16 sein soweit ich es weiß(bei double).
Was nun der Prof. mit 45 Binärstellen meint weiß ich auch nicht, ist direkt so von der Übung rauskopiert die Aufgabe.


Zum Thema rekursiv hast du möglicherweise recht, jedoch bringt mir das nicht viel wenn es in der Prüfung so abverlangt wird, darum will ich es jetzt zumindest kappieren ((=

lg



edit: sehe eben dein neuen Post, sprich da könnt auch statt den 45Binärstellen(aus der Aufgabestellung) einfach stehen: gebe es für mind. 10 Nachkommastellen(oder wieviel jetzt auch 45 Binärstellen entsprechen) ???

Ich vermute einfach mal das euer Professor schonmal von der IEEE 754-Darstellung für Gleitkommazahlen erzählt hat. Ich würde mir diese nochmal ansehen.
 

Marco13

Top Contributor
Zum Thema rekursiv hast du möglicherweise recht, jedoch bringt mir das nicht viel wenn es in der Prüfung so abverlangt wird, darum will ich es jetzt zumindest kappieren ((=

Ja, hast du dir mal die Standard-Beispiele zu Rekursion angesehen (Fibonacci & Co)?
Mit summe(n+1) = summe(n) + x sollte man ja schon einen Ansatz haben.


edit: sehe eben dein neuen Post, sprich da könnt auch statt den 45Binärstellen(aus der Aufgabestellung) einfach stehen: gebe es für mind. 10 Nachkommastellen(oder wieviel jetzt auch 45 Binärstellen entsprechen) ???

Könnte man, so ähnlich, soweit ich das verstehe...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S 100 als Summe Java Basics - Anfänger-Themen 16
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
Ninum Summe Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
R Summe Java Basics - Anfänger-Themen 13
M Array Summe bestimmen? Java Basics - Anfänger-Themen 14
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
A Summe des Arrays pd mit alternativer Schleife Java Basics - Anfänger-Themen 2
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
F Summe in einem Array bestimmen Java Basics - Anfänger-Themen 3
N Quadratische Matrix inkl Summe Java Basics - Anfänger-Themen 8
F Summe aller echten Teiler Java Basics - Anfänger-Themen 2
F Summe aller echten Teiler und Zahlen zurückgeben Java Basics - Anfänger-Themen 1
M Array Summe- wo ist der Fehler ? Java Basics - Anfänger-Themen 13
K Erste Schritte Berechnung der Summe zweier Arrays Java Basics - Anfänger-Themen 15
A Summe aller ungeraden Zahlen Java Basics - Anfänger-Themen 5
J ArrayList: summe aller Spielkarten Java Basics - Anfänger-Themen 15
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
K Methode: Summe von n Zahlen Java Basics - Anfänger-Themen 24
S Summe aus Kombinationen /permutationen einer Liste mit einer Obergrenze Java Basics - Anfänger-Themen 10
P Altklausur: Abfrage der Summe Java Basics - Anfänger-Themen 9
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
B summe von 2 Matrizen Java Basics - Anfänger-Themen 20
V Input/Output ArrayList Summe ausgeben Java Basics - Anfänger-Themen 57
B Serial Key prüfen -> String mit privatem Key und dann abgleichen; Summe = 0 Java Basics - Anfänger-Themen 8
B OOP Summe aus verschiedenen Instanzen einer Klasse berechnen Java Basics - Anfänger-Themen 2
L Array: Summe aller geraden und ungeraden Zahlen ermitteln Java Basics - Anfänger-Themen 9
Joew0815 summe aus einem aarray Java Basics - Anfänger-Themen 4
B Summe aller Zahlen von 1 bis zu dieser Zahl (ohne while oder for schleife) Java Basics - Anfänger-Themen 4
E Summe der "Nachbarn" eines Wertes in einem Array bestimmen Java Basics - Anfänger-Themen 8
P Schleife zur Berechnung von einer Summe Java Basics - Anfänger-Themen 16
G Rekursion Summe Java Basics - Anfänger-Themen 15
D Summe von Eingaben in einer for Schleife Java Basics - Anfänger-Themen 4
D Summe aller Positiven Integer aus einer Liste mit ActionObject Java Basics - Anfänger-Themen 2
V Programm summe Java Basics - Anfänger-Themen 11
I Summe eines Arrays ohne Schleife Java Basics - Anfänger-Themen 4
C Summe berechnen Java Basics - Anfänger-Themen 22
A Summe aller Natürlichen Zahlen - Methode Prüfen Java Basics - Anfänger-Themen 10
D Pyramide: Summe der diagonal über ihr stehenden Zahlen! Java Basics - Anfänger-Themen 6
A summe von m bis n mit for-Schleife Java Basics - Anfänger-Themen 5
M array - summe quer Java Basics - Anfänger-Themen 9
J summe von aufeinander folgenden floats eines arrays Java Basics - Anfänger-Themen 10
B array bestimmte summe berechnen Java Basics - Anfänger-Themen 4
S Summe Berechnen Java Basics - Anfänger-Themen 6
S Summe von Zufallszahlen Java Basics - Anfänger-Themen 9
Z Summe von Vektor-Elementen Java Basics - Anfänger-Themen 5
E Array gebildete Summe ausgeben Java Basics - Anfänger-Themen 5
D 100.0% gleichmäßig aufteilen, so dass Summe 100.0% sind, nicht 99,9% oder 100,1% Java Basics - Anfänger-Themen 3
M Rekursion Summe vom Array Java Basics - Anfänger-Themen 2
W sin-funktion x-wert der summe approximieren Java Basics - Anfänger-Themen 2
M Summe eines Arrays Java Basics - Anfänger-Themen 2
U Summe produkt von einem array Java Basics - Anfänger-Themen 9
J Summe postive Zahlen und negative Zahlen Java Basics - Anfänger-Themen 12
G Summe der Ziffern einer Zahl EFFIZIENT berechnen? Java Basics - Anfänger-Themen 18
J matrix nach summe der spalten sortieren Java Basics - Anfänger-Themen 5
Antoras Zahlen mischen und mit einer for-Schleife Summe berechnen Java Basics - Anfänger-Themen 12
G Summe zweier doubles falsch? Java Basics - Anfänger-Themen 10
G Md5 Summe eines Fileobjektes bilden Java Basics - Anfänger-Themen 4
G JTable Zwischenüberschriften bzw. Summe? Java Basics - Anfänger-Themen 2
L Berechnung Summe Java Basics - Anfänger-Themen 3
A String in Zahlen/Summe umformen Java Basics - Anfänger-Themen 2
R Summe Iterative Java Basics - Anfänger-Themen 6
S Summe innerhalb eines arrays? Java Basics - Anfänger-Themen 2
M summe von squares Java Basics - Anfänger-Themen 3
N Nachkommastellen von Strings Java Basics - Anfänger-Themen 3
krgewb Double mit zwei Nachkommastellen Java Basics - Anfänger-Themen 2
Kotelettklopfer Variablen Double zwingen Ganzzahlen mit 2 Nachkommastellen auszugeben Java Basics - Anfänger-Themen 10
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
F Nachkommastellen erzwingen Java Basics - Anfänger-Themen 2
P Nachkommastellen abschneiden Java Basics - Anfänger-Themen 7
E Nullen aus Nachkommastellen entfernen Java Basics - Anfänger-Themen 2
V Operatoren Warum kommt bei double bei den Nachkommastellen irgendwann eine 2?! (1.20000000000002) Java Basics - Anfänger-Themen 5
kilopack15 Mehr Nachkommastellen mit double Java Basics - Anfänger-Themen 14
P Zahl genauer als 20 nachkommastellen Java Basics - Anfänger-Themen 4
R Auf Nachkommastellen prüfen. Java Basics - Anfänger-Themen 2
L Nachkommastellen Runden, Problem mit Syntax " }" Java Basics - Anfänger-Themen 2
T long wird ohne Nachkommastellen ausgegeben Java Basics - Anfänger-Themen 5
M Datentypen Double = 0 / Double schneidet Nachkommastellen ab Java Basics - Anfänger-Themen 4
Luk10 Nachkommastellen runden Java Basics - Anfänger-Themen 2
B Datentypen Float ohne .0 ausgeben, sonstige Nachkommastellen aber erhalten Java Basics - Anfänger-Themen 4
M Erste Schritte Nachkommastellen falsch bei Rechnung Java Basics - Anfänger-Themen 3
V Nachkommastellen begrenzen (1,xxx) Java Basics - Anfänger-Themen 3
G Datentypen Double ausgeben mit minimaler Anzahl Nachkommastellen Java Basics - Anfänger-Themen 3
S Runden eines doubles auf n nachkommastellen Java Basics - Anfänger-Themen 10
M float/double Anzahl Nachkommastellen ermitteln Java Basics - Anfänger-Themen 18
L Double Zahlen und nachkommastellen Java Basics - Anfänger-Themen 5
J Nachkommastellen bei Zahlen Java Basics - Anfänger-Themen 20
M Nachkommastellen vergleichen + Array Hilfe Java Basics - Anfänger-Themen 6
D Ermitteln der Anzahl gleicher Nachkommastellen 2er Zahlen Java Basics - Anfänger-Themen 9
T Runden mit Präzision vs. Runden mit Nachkommastellen Java Basics - Anfänger-Themen 4
D Problem mit Nachkommastellen <%=Double.valueOf(35/1000)%> ergibt 0.0? Java Basics - Anfänger-Themen 3
F (Verständnis)Problem: Zahl auf 2 Nachkommastellen runden Java Basics - Anfänger-Themen 5
N Nachkommastellen auf 2 reduzieren Java Basics - Anfänger-Themen 5
J Runden auf 2 Nachkommastellen ? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben