Question

Alors que je lisais dans un livre d'un certain paradoxe: que vous êtes dans une pièce avec une porte d'en face de vous. Afin de laisser cependant, vous devez parcourir la moitié de la distance il y a à chaque fois. Ainsi, la première foulée que vous faites la moitié de la distance, et la deuxième foulée que vous prenez la moitié à nouveau, et ainsi de suite (1/2 + 1/4 + 1/8) etc. La demande est si vous ne jamais atteindre la porte si vous continuez comme ça. Ceci est je suppose que facile à prouver en utilisant le calcul, mais il serait intéressant de simuler ceci en Java ou tout autre programme avec une balle qui commence sur le côté gauche, et fait son chemin vers le côté droit en voyageant moitié de la distance à chaque fois, tout en indiquant le nombre de « mesures » prises jusqu'à présent et ses progrès. J'aimerais faire moi-même, mais je suis encore un débutant en Java et ne savent pas la programmation GUI. Quelqu'un peut-il simuler cela?

(Désolé si ce n'est pas une question « vraie ». Je suis vraiment curieux de voir combien mesures qu'il prendrait pour la balle même regarder comme il était presque.)

Était-ce utile?

La solution

Voir cette parcelle, le paradoxe qui visualise:

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

Autres conseils

se déroulera dans les limites des numéros bien avant d'exécuter dans l'autre porte. Abstraite il est:

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

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

}

l'exécution de ce sur un de mes boîtes en utilisant PHP a donné lieu à ..
50
25
12.5
6,25
3.125
1,5625
0,78125
0,390625
0.1953125
0.09765625
0.048828125
0.0244140625
0.01220703125
0.006103515625
0.0030517578125
0.00152587890625
0.000762939453125
0.0003814697265625
0.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

un peu d'analyse numérique en java. jetez un oeil à cette

Ceci est l'un des Cela dépend de Zeno Paradoxes ce que votre définition de « presque » est. D'un point de vue assez loin, il peut ressembler il est presque là, peu importe ce que la distance réelle est.

En ce qui concerne un programme pour le faire, votre question est beaucoup trop large - il pourrait être mis en œuvre un certain nombre de façons. L'élément clé est de mettre à jour la distance de la balle au mur à moitié de ce qu'elle était dans le précédent « cadre » ou itération.

Si vous voulez le faire en C ++ est le code ici:

float Distance;

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

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


return 0;

}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top