Project: Magic or Math
There are many variations on the magic trick where the magician asks the audience member to think of a number. He then instructs the audience member to perform a number of math operations on that number that seem to generate a random result, however the magician is always able to miraculously guesses the correct result.
- Think of a number
- Double it
- Add 10
- Halve it
- Subtract your original number
- The answer is 5
Write a program that defines an integer variable with the original value randomly generated between 1 and 100. Print the value of the variable after each stage of the trick so we can see how the trick progresses. Run the program a number of times. Is the answer always 5?
Output
$ javac -Xlint MagicOrMath.java
$ java -ea MagicOrMath
Value: 73
Double Value: 146
Now add 10: 156
Cut in half: 78
Subtract Original Value: 5
Answer above should be 5
$ javac -Xlint MagicOrMath.java
$ java -ea MagicOrMath
Value: 95
Double Value: 190
Now add 10: 200
Cut in half: 100
Subtract Original Value: 5
Answer above should be 5
$ javac -Xlint MagicOrMath.java
$ java -ea MagicOrMath
Value: 38
Double Value: 76
Now add 10: 86
Cut in half: 43
Subtract Original Value: 5
Answer above should be 5