Challenge Level

Being able to programme a computer offers a huge advantage when solving certain types of mathematical problems. Most professional mathematicians in research and in industry will programme as part of their day to day lives. The challenges below are designed to ease you into the fascinating world of mathematical programming. They are roughly ordered according to the programming/mathematical
challenge. Have fun!

The tasks are all based around problems on the NRICH website.

Arithmagons: Write a programme to solve the arithmagons in the problem.

Birthdays: Implement the Zeller algorithm to calculate the day of birth.

Flow chart: Implement the procedure referred to in the flow chart

Got it: Play the game 'Got it' and then write a programme to play the game. You could make 2 versions: one that always wins, and one that plays randomly.

Sorting it out: implement the sorting algorithms in the problem sorted.

Procedure solver: Implement this procedure.

Archimedes and numerical roots: Calculate the roots to 12 decimal places

Solve me: Find the solution to this cubic to 6 decimal places.

Long time at the till: Find the solution to this problem.

Root hunter: Find the solutions (where possible) to three decimal places.

Building approximations for sin(x): Implement the sin(x) calculator so that it matches your calculator.

What's the point of squash: Solve this problem with your computer.

Any win for tennis: Write a programme to solve this problem

This set of tasks presents a big programming challenge. How efficiently can you write your code?

The tasks are all based around problems on the NRICH website.

Arithmagons: Write a programme to solve the arithmagons in the problem.

Birthdays: Implement the Zeller algorithm to calculate the day of birth.

Flow chart: Implement the procedure referred to in the flow chart

Got it: Play the game 'Got it' and then write a programme to play the game. You could make 2 versions: one that always wins, and one that plays randomly.

Sorting it out: implement the sorting algorithms in the problem sorted.

Procedure solver: Implement this procedure.

Archimedes and numerical roots: Calculate the roots to 12 decimal places

Solve me: Find the solution to this cubic to 6 decimal places.

Long time at the till: Find the solution to this problem.

Root hunter: Find the solutions (where possible) to three decimal places.

Building approximations for sin(x): Implement the sin(x) calculator so that it matches your calculator.

What's the point of squash: Solve this problem with your computer.

Any win for tennis: Write a programme to solve this problem

This set of tasks presents a big programming challenge. How efficiently can you write your code?