# GullCode

### Date: October 28th 2017

### Time: 9:30 A.M.

### Location: Wicomico Room in GUC

Teams will be given a set of problems to be solved using either JAVA, C++, or Python which will require a logical or mathematical algorithm to solve. Each team can have up to 3 members to code their solutions. Teams are allowed to use their own laptop computers or the school desktops where available. The team that completes the most problems correctly within the 4 hour time window will be declared the winner. In the event of a tie, a judge will determine the winner based on efficiency of the algorithm and code design. All judgments are final.

## Example Problems

### Hexadecimal Calculator

Write a program that will accept any Hexadecimal Number and translate it to a decimal. This program must check to make sure that the number the user enters is in fact a Hexadecimal number.

#### Sample I/O

Please enter numbers 0-9 and/or A-F:

C05C

29

### Smallest Multiple

2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without
any remainder.

Write a program to find the smallest positive number that is evenly divisible by all of the
numbers from 1 to 20.

### Tower of Hanoi

This mathematical puzzle consists of three rods, and a number of different sized discs. At the beginning of the puzzle each disc is stacked by size (smallest at the top) on the leftmost rod. The objective of the puzzle is to move the entire stack to another rod, obeying the following rules: only one disc can move at a time, a disc can only be moved if its on the top of the stack, and larger discs may not be placed on top of smaller discs. For this problem you will be given a specified number of discs and should return the intermediate steps as well as the number of steps to complete the game in the least number of moves.

#### Sample I/O

Enter number of discs:

3

Disc 1 from A to C

Disc 2 from A to B

Disc 1 from C to B

Disc 3 from A to C

Disc 1 from B to A

Disc 2 from B to C

Disc 1 from A to C

Total moves: 7