Aufgabe: Java Programm erstellen welches folgendes tut:
1. Eine Zahlenmenge einlesen ( Benutzer Fragen wie viele Zahlen er einlesen möchte und dann jede Zahl einzel in einem double Array abspeichern)
2. Alle Teilsummen berechnen und das Ergebnis welches am nächsten an Pi ist herausgeben.
Ich komme bei der Aufgabe nicht wirklich weiter. Der erste Teil ist mir klar mit dem zweiten habe ich meine Schwierigkeiten. Als Hilfestellung habe ich folgenden Pseudocode für Menge M der Länge n:
für alle ganzen Zahlen x von 0 bis 2^n
So weit ich das verstehe ist 2^n die Anzahl an Teilsummen von M und die soll der Algorithmus berechnen und dann vergleichen welche Teilsumme am nächsten an Pi ist. Wenn ich also eine Menge mit drei Elementen (1,2) nehme dann sind dass 4 verschiedene Teilsummen nämlich:
0*1+0*2 ; 0*1+1*2; 1*1+0*2 ; 1*1+1*2
So verstehe ich jetzt die dritte Zeile des Pseudocodes. Ist das so richtig?
Ich verstehe das Prinzip des Pseudocodes nicht wirklich wenn mir das mal jemand erklären könnte wäre das super.
1. Eine Zahlenmenge einlesen ( Benutzer Fragen wie viele Zahlen er einlesen möchte und dann jede Zahl einzel in einem double Array abspeichern)
2. Alle Teilsummen berechnen und das Ergebnis welches am nächsten an Pi ist herausgeben.
Ich komme bei der Aufgabe nicht wirklich weiter. Der erste Teil ist mir klar mit dem zweiten habe ich meine Schwierigkeiten. Als Hilfestellung habe ich folgenden Pseudocode für Menge M der Länge n:
für alle ganzen Zahlen x von 0 bis 2^n
für alle ganzen Zahlen i von 0 bis n
wenn die Binärdarstellung von x an der stelle i eine 1 stehen hat
dann
dann
füge M dem Ergebnis hinzu
So weit ich das verstehe ist 2^n die Anzahl an Teilsummen von M und die soll der Algorithmus berechnen und dann vergleichen welche Teilsumme am nächsten an Pi ist. Wenn ich also eine Menge mit drei Elementen (1,2) nehme dann sind dass 4 verschiedene Teilsummen nämlich:
0*1+0*2 ; 0*1+1*2; 1*1+0*2 ; 1*1+1*2
So verstehe ich jetzt die dritte Zeile des Pseudocodes. Ist das so richtig?
Ich verstehe das Prinzip des Pseudocodes nicht wirklich wenn mir das mal jemand erklären könnte wäre das super.