10.11. Mathematics

| Chapter 10: Physics: Substances, Ropes, Energy and Weight |

| 10.11. Mathematics

It is uncommon, but not absolutely unheard-of, to need to do detailed mathematical calculations in interactive fiction.

The Fibonacci Sequence demonstrates the calculation of a series of numbers; Sieve of Eratosthenes shows off how to calculate the prime numbers within a certain range.

Number Study demonstrates conditional relations between numbers.

424
| Example The Fibonacci Sequence The modest Leonardo Fibonacci of Pisa will be only too happy to construct his sequence on request, using an array. |
WI

427
| Example Sieve of Eratosthenes The haughty Eratosthenes of Cyrene will nevertheless consent to sieve prime numbers on request. |
WI

In the words of Wikipedia: "Eratosthenes of Cyrene (Greek Eρατοσθένης; 276 BC-194 BC) was a Greek mathematician, poet, athlete, geographer and astronomer." In the words of Tom Lehrer: "It's people like that who make you realise how little you've achieved in life." A prime number is a number greater than 1 which is not a multiple of anything, so we can find the primes by starting with all the numbers and sieving out all the multiples of 2, then all the multiples of 3, and so on. Here we make our sieve of the unacceptable numbers (the "composite" or non-prime ones) first, then form a list of all the numbers, then sieve out the composites: what are left must be the primes. "Sieve of Eratosthenes" Alexandria is a room. Eratosthenes is a man in Alexandria. "The haughty Greek mathematician, Eratosthenes, glowers at you." Sieving is an action applying to one number. Understand "sieve [number]" as sieving. Instead of sieving, say "You make a feeble attempt, sketching in the sand, but it goes nowhere. Eratosthenes smirks. 'I expect your friends call you gamma, then?'" Persuasion rule for asking Eratosthenes to try sieving: persuasion succeeds. Report Eratosthenes sieving: let N be the number understood; let the composites be a list of numbers; let I be 2; while I times I is at most N: if I is not listed in the composites: let J be I times 2; while J is at most N: add J to the composites, if absent; increase J by I; increment I; sort the composites; let the primes be a list of numbers; repeat with P running from 2 to N: add P to the primes; remove the composites from the primes; say "Eratosthenes sketches lines in the sand with the air of much practice. 'The primes up to [N] are [the primes]. The composites are [the composites].'" Test me with "sieve 10 / eratosthenes, sieve 100". While this could all be done more efficiently with an array, that's only because what we are sieving are numbers: sieving is a technique which can be used for non-numerical decisions, too.

240
| Example Number Study The parity and joint magnitude relations explored. |
WI

Previous | Contents | Next