Frage

So wurde ich in einem Buch eines gewissen Paradox lesen: Sagen Sie in einem Raum mit einer Tür gegenüber von Ihnen. Um allerdings zu verlassen, müssen Sie die Hälfte der Strecke reisen jedes Mal dort. So ist der erste Schritt machen Sie die halbe Distanz, und der zweite Schritt Sie die Hälfte wieder nehmen, und so weiter (1/2 + 1/4 + 1/8) usw. Der Anspruch ist, wenn Sie nie die Tür erreichen, wenn Sie weiter so was. Das ist denke ich einfach Kalkül zu beweisen, verwenden, aber es wäre interessant, dies in Java zu simulieren oder jedes anderen Programm mit einem Ball, der beginnt auf der linken Seite, und seine Art und Weise auf die rechte Seite macht die Hälfte den Abstand jedes Mal reisen, während zeigt so weit und seine Fortschritte gemacht, die Anzahl der ‚Schritte‘. Ich würde lieben, es selbst zu tun, aber ich bin immer noch ein Anfänger in Java und dont GUI-Programmierung kennen. Kann jemand simuliert das?

(Sorry, wenn diese Frage nicht eine ‚echte‘ ist. Ich bin nur wirklich gespannt, wie viele Schritte es für den Ball zu sogar Blick nehmen würde, wie es fast da war.)

War es hilfreich?

Lösung

Sehen Sie diese Handlung, die das Paradox visualisiert:

http://www.wolframalpha.com/input/?i=1-1/(2^n)+for+0<n<10

Andere Tipps

werden Sie in Zahlen Grenzen laufen weit, bevor Sie in die andere Tür laufen. abstrahiert es ist:

var Distance=100;
var Traveled=0;
var Remaining=Distance/2

while(Traveled < Distance){
  echo Remaining
  Traveled=Traveled+Remaining
  Remaining=Remaining/2

}

läuft dies auf einer meiner Kisten mit PHP in Folge ..
50
25
12,5
6,25
3,125
1,5625
0,78125
0.390625
0.1953125
0.09765625
0,048828125
0,0244140625
,01220703125
,006103515625
,0030517578125
,00152587890625
,000762939453125
,0003814697265625
,00019073486328125
9.5367431640625E-5
4.7683715820312E-5
2.3841857910156E-5
1.1920928955078E-5
5.9604644775391E-6
2.9802322387695E-6
1.4901161193848E-6
7.4505805969238E-7
3.7252902984619E-7
1.862645149231E-7
9.3132257461548E-8
4.6566128730774E-8
2.3283064365387E-8
1.1641532182693E-8
5.8207660913467E-9
2.9103830456734E-9
1.4551915228367E-9
7.2759576141834E-10
3.6379788070917E-10
1.8189894035459E-10
9.0949470177293E-11
4.5474735088646E-11
2.2737367544323E-11
1.1368683772162E-11
5.6843418860808E-12
2.8421709430404E-12
1.4210854715202E-12
7.105427357601E-13
3.5527136788005E-13
1.7763568394003E-13
8.8817841970013E-14
4.4408920985006E-14
2.2204460492503E-14
1.1102230246252E-14
5.5511151231258E-15

ein bisschen der numerischen Analyse in Java. haben einen Blick auf dieser

Dies ist eines der Zenons Paradoxien Es hängt davon ab, was Ihre Definition von „fast“ ist. Aus weit genug Aussichtspunkt, kann es aussehen, wie es fast da egal ist, was der tatsächliche Abstand ist.

Wie für ein Programm, dies zu tun, ist Ihre Frage viel zu breit - es ist in einer Reihe von Möglichkeiten umgesetzt werden könnte. Das Schlüsselelement ist, den Abstand der Kugel an die Wand zu aktualisieren, um zu sein eine Hälfte von dem, was es war in dem vorherigen „Rahmen“ oder Iteration.

Wenn Sie es in C ++ tun wollen hier ist der Code:

float Distance;

cout << " Enter distance value :" << endl;
cin >> Distance;

while (Distance > 0){
    cout << Distance << endl;
(Distance = Distance /2);
}


return 0;

}

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top