Wie ziehe ich positive ungerade Zahlen von meinem Hauptwert ab?

Wasserranzen

Aktives Mitglied
Hallo,

Ich bin grade dabei ein Programm zu programmieren der Quadratwurzel zieht. Das Grundgerüst steht und auch die theoretische Umsetzung, allerdings mit einem Problem. Ich muss die vom Nutzer eingegebene Zahl so bearbeiten das mein Programm so lange positive ungerade Zahlen abzieht bis es null oder negativ wird. Also als z.b :

4
-1
-3
——
0

Anzahl des abgezogenen 2 Wurzel aus 4 gleich 2.

Allerdings weiß ich keinen Algorithmus wo ich nicht 1000 Stunden sitzen würde. Module würde mir zwar schon sagen ob die Zahl gerade oder ungerade wäre, aber viel bringt es mir nicht, da ich von -1 angefangen muss.

Hätte jemand einen Vorschlag ?

Danke !
 
Ich habe jetzt soweit alles fertig, außer eine Sache. Mir fehlt jetzt nur noch das ausgegeben werden soll wie oft abgezogen wurde. Ich grübel seit Stunden, aber mir fällt es nicht ein. Vielleicht ein Hinweis?
 
Ich habe es leider nicht hinbekommen. Ich hab es versucht, aber ich komme zu keinem sinnvollen Ergebnis.
Java:
for ( int p = 0; p < a ; p ++) {
p = p + 1 ;
for(int i = 1; a > 0; i += 2) {
a -= i;
System.out.println(p);

Ich habe übernächste Woche eine Arbeit und vermutlich werde ich die nicht schaffen. Es ist frustrierend.
 
Java:
int counter = 0;
for(int i = 1; a > 0; i += 2) {
    a -= i;
    counter++;
}
System.out.println("Es wurde " + counter + " mal subtrahiert");
 
Darf ich einmal fragen, warum du die Wurzel auf diese Weise berechnest? Ohne jetzt den gesamten Code zu kennen, sieht das eher nach Schriftlichem Wurzelziehen aus?

Eine andere Idee wäre meines Erachtens etwas einfacher, die Idee ist, dass:

f(x) = x^2 - a und f'(x) = 2x
...
...
 
Das ist das tolle daran, das brauchst du garnicht. Das ist einfach eine Modifizierung des Newton Verfahrens. Sodass du dann iterativ mit einem Näherungswert arbeiten kannst und somit deine Wurzel bestimmen kannst, das geht auch mit der m-ten Wurzel aus einer Zahl 🙂

Verweis
 
Ich hab jetzt eine neue Idee um von einer Zahl die Wurzel zu ziehen. Ich hab eine for schleife programmiert die bis 100 i * i rechnet. Dadurch habe ich eine kleine Datenbank mit allen Quadratzahlen. Meine Idee wäre die vom Nutzer eingegebene Zahl auf diese Datenbank abzugleichen und auszugeben. Das Problem ich weiß nicht wie. Meine Idee wären Arrays.
 
Ja, nur was ist wenn Jemand wissen will, was die Wurzel aus 7,6 ist?
Das Problem bei solchen Basteleien ist, dass das auch (richtig) mathematisch fundiert sein muss 🙂
Ich möchte da nochmal auf meinen Verweis verweisen. Das geht komplett ohne Arrays und ist mathematisch richtig. Die Idee habe ich dort auch eigentlich ausführlich erklärt.

Ich bin nichtmal in der Lage einen Zähler einzubauen, da werde ich das sicher auch nicht hinbekommen. Es fehlt mir an Verständnis und Zusammenhänge.

Das ist natürlich ungünstig, aber wenn du jetzt schon von Arrays sprichst, dann ist nen Zähler nix dagegen...
 
Denn Verweis hatte ich gar nicht gesehen. Mein Ziel war es auch klein anzufangen. Erstmal Quadratzahlen und dann Kommazahlen usw ...

Ist dieses Verfahren zufällig dem Newtonverfahren angelegt ?
 

Neue Themen


Zurück
Oben