These puzzles (most of them old classics) from various sources can be
used with
pupils who finish classwork early. Most of the questions were chosen
with enthusiastic, bright early teenagers in mind.
Some of the puzzles are also appropriate for class work - an initial
worked example on the board will help a lot.
There are a few trick questions. Some questions can be quickly answered
if you chance upon the right approach, but the 'long' solution isn't
too arduous. Several of the questions are best answered by writing a
computer program. Some are shown here.
Scales and Vessels
How can you measure out exactly 4 litres of water from a tap using a 3 litre
and a 5 litre bucket?
Ans
A 24 litre bucket is full of lemonade. 3 people want to have equal amounts
of it to take home, but they only have a 13 litre, a 5 litre and
an 11 litre bucket. How do they do it?
Ans
A Queen (78kg), the Prince (36kg) and the King (42kg) are
stuck at the top of a tower. A pulley is fixed to the top of the
tower. Over the pulley is
a rope with a basket on each end. One basket has a 30kg stone in
it. The baskets are enough for 2 people or 1 person and the stone.
For safety's sake there can't be more than a 6kg difference between
the weights of the baskets if someone's inside. How do the people all escape?
Ans
Basket 1 Basket 2
---------------------
Stone up Prince down
King down Prince up
nothing up Stone down
Queen down Stone and King up
nothing up Stone down
Prince down Stone up
nothing up Stone down
King down Prince up
Stone up Prince down
One of 9 otherwise identical balls is overweight. How can
it be identified after 2 weighings with an old balance?
Ans: Weigh 3 against 3, then you'll know which group of 3 contains
the heavy ball. Pick 2 balls from that group and weigh one against the other.
One of 27 otherwise identical balls is overweight. How
can it be identified after 3 weighings with an old balance?
Ans: Weigh 9 against 9, then 3 against 3.
How many ways can you put 10 sweets into 3 bags so that each bag contains an
odd number of sweets?
Ans
15 solutions. The first trick is to realise that if you put one bag inside another, then sweets
in the inner bag are also in the outer bag. The only workable configuration
is to put one bag inside another and leave the third alone. The answers can
be obtained using the
following octave script,
where bag b is inside bag a
for a=0:10
for b=0:(10-a)
c=10-a-b;
if (rem((a+b),2)==1 && rem(b,2)==1 && rem(c,2)==1)
fprintf('a=%d b=%d c=%d\n',a,b,c)
end
end
end
Ferries
A farmer has to take a hen, a fox, and some corn across a river. The farmer
can only take one thing across at a time. Unless the farmer's present
the fox will eat the hen and the hen eat the corn. How is it done?
Ans
FARMER AND HEN ->
<- FARMER
FARMER AND FOX ->
<- FARMER AND HEN
FARMER AND CORN ->
<- FARMER
FARMER AND HEN ->
3 missionaries and 3 obediant but hungry cannibals have to cross
a river using a 2-man rowing boat. If on either bank cannibals outnumber
missionaries the missionaries will be eaten. How can everyone cross
safely?
Ans
CANNIBAL and MISSIONARY ->
<- MISSIONARY
CANNIBAL and CANNIBAL ->
<- CANNIBAL
MISSIONARY and MISSIONARY ->
<- CANNIBAL and MISSIONARY
MISSIONARY and MISSIONARY ->
<- CANNIBAL
CANNIBAL and CANNIBAL ->
<- CANNIBAL
CANNIBAL and CANNIBAL ->
2 men and 2 boys need to cross a river in a boat big enough for 1 man
or 2 boys. How do they do it?
Ans
BOY and BOY ->
<- BOY
MAN ->
<- BOY
BOY and BOY ->
<- BOY
MAN ->
<- BOY
BOY and BOY ->
SMP and CSE 1974 extend this to cover the case of n men.
Picking Captains
6 girls pick a captain by forming a circle then eliminating
every n'th girl. The 2nd girl in the counting order can choose n. If
she wants to be captain what's the smallest n she should pick?
Ans: 10
12 black mice and 1 white mouse are in a ring. Where should a cat
start so that if he eats every 13th mouse the white mouse will be last?
Ans: If the white mouse is 1st in the counting order, the cat should start at
the 7th mouse : hint - start anywhere, see how far out you are, then
make the necessary correction
20 passengers are in a sinking ship. 10 are mathematicians. They all
stand in a ring. Every 7th climbs into the lifeboat which can only hold
10 people. Where should the mathematicians stand in the ring?
Ans: 1 4 5 7 8 9 14 15 16 17
30 passengers are in a sinking ship. They all stand in a circle.
Every 9th passenger goes overboard. The lifeboat holds 15. Where are
the 15 lucky positions in the circle?
Ans: 1 2 3 4 10 11 13 14 15 17 20 21 25 28 29
The last of these questions can be answered using the following octave script
howmanyatstart=30;
howmanyatend=15;
first=1;
leap=9;
x=first-1;
a=1:howmanyatstart;
while (length(a)>howmanyatend)
x=rem(x+leap,length(a));
a(x+1)=[];
end
a
By changing the initial values in this script you can solve questions 2 and
3. Here's the Python solution
howmanyatstart=30
howmanyatend=15
first=0
leap=9
x=first
a=range(1,howmanyatstart+1)
while len(a)>howmanyatend:
x=(x+leap)%len(a)
del a[x]
for i in range(0,len(a)):
print a[i]
Incomplete Sums
Some worked examples are in J.A.H. Hunter's "Mathematical
Brain Teasers".
Each letter represents a different digit
SEND
+MORE
-----
MONEY
Ans: 9567+1085 = 10652
This sum uses all the digits
28*
+**4
----
****
Ans: 289+764 = 1053
This subtraction sum uses all the digits from 1 to 9.
9 * *
- * 4 *
-----
* * 1
Ans:927 - 346 = 581
O represents odd digits E represents even digits
EEO
xOO
-----
EOEO
EOO
-----
OOOOO
Ans: 285x39
P represents prime digits
PPP
xPP
-----
PPPP
PPPP
-----
PPPPP
Ans: 775x33
If each letter in the calculation below represents a unique digit from 0 to 9, how many solutions are there?
SIX
x TWO
-----
DOZEN
Ans: 6
A brute-force C++ solution is
#include <iostream>
using namespace std;
int S,I,X,T,W,O,D,Z,E,N;
int numberOfSolutions=0;
bool check() {
if ( (S*100+I*10+X)*(T*100+W*10+O) == D*10000+O*1000+Z*100+E*10+N) {
cout << "A solution is " << S << I << X << "*" << T << W << O
<< "=" << D << O << Z << E << N << endl;
return true;
}
else
return false;
}
int main() {
for (S=0;S<10;S++) { if (S==0) continue; // no leading zero
for (I=0;I<10;I++) {if (I==S) continue;
for (X=0;X<10;X++) {if (X==S or X==I) continue;
for (T=0;T<10;T++) {if (T==S or T==I or T==X or T==0) continue; // no leading zero
for (W=0;W<10;W++) {if (W==S or W==I or W==X or W==T) continue;
for (O=0;O<10;O++) {if (O==S or O==I or O==X or O==T or O==W) continue;
for (D=0;D<10;D++) {if (D==S or D==I or D==X or D==T or D==W or D==O or D==0) continue; // no leading zero
for (Z=0;Z<10;Z++) {if (Z==S or Z==I or Z==X or Z==T or Z==W or Z==O or Z==D) continue;
for (E=0;E<10;E++) {if (E==S or E==I or E==X or E==T or E==W or E==O or E==D or E==Z) continue;
for (N=0;N<10;N++) {if (N==S or N==I or N==X or N==T or N==W or N==O or N==D or N==Z or N==E) continue;
if(check()) numberOfSolutions++;
}
}
}
}
}
}
}
}
}
}
cout << numberOfSolutions << " solutions" << endl;
}
Some more additions
THE
TEN
MEN
----
MEET
Ans: 490+407+107=1004
SLOW
SLOW
OLD
----
OWLS
Ans: 4712
SAL
SEE
THE
SUEZ
-----
CANAL
Ans: 920+977+547+9876=12320
FIVE
FIVE
NINE
ELEVEN
------
THIRTY
Ans: 4027+4027+5057+797275
What 5 digit number (where the digits are all different and none of them is zero) multiplied by 4 gives an answer where the digits are those of the original number but in reverse order?
So
ABCDE * 4 = EDCBA
Let's start at the ends.
A can only be 1 or 2, because A*4 < 10. E*4 divided by 10 must leave a remainder of A. It can't leave a remainder of 1, so A=2
2BCDE * 4 = EDCB2
If E*4 divided by 10 leaves a remainder of 2, then E has to be 3 or 8. The E on the right-hand side must be 8 or 9. Putting those 2 constraints together, E=8
2BCD8 * 4 = 8DCB2
B*4 must be < 10. If it was more, then the first digit of the right-hand side wouldn't be 8. B can't be 2 because we've used that already. So B=1
21CD8 * 4 = 8DC12
To get the 1 that's on the right-hand side, D*4+3 when divided by 10 must leave a remainder of 1. D can't be 2 (2 has been used already) so D=7
21C78 * 4 = 87C12
4*C +3 when divided by 10 must give the answer 3 and a remainder C, so C=9
So the answer's 21978
The following C++ code might help with the other problems
#include <vector>
#include <iostream>
#include <cstdlib>
#include <algorithm>
using namespace std;
// This C++ program uses brute force to solve problems like
// THE +
// TEN +
// MEN
// ----
// MEET
//
// To solve a problem
// * List the words in the thewords variable
// * Set the leadingzeroesallowed, digitsunique, findallsolutions variables to true or false,
// depending of what you want.
// * Change the first line of the check routine to match the calculation.
// The words are referred to as thewords[0], thewords[1], etc so
// if (eval(thewords[0],v) + eval(thewords[1],v) + eval(thewords[2],v) == eval(thewords[3],v)) {
// means "if word1 + word2 + word3 equals word4 ..."
// * Re-compile and run the code.
// The code's not designed to be fast or easy to read, It solves
// THE + TEN + MEN = MEET almost instantly. SEND + MORE = MONEY takes over a minute.
string thewords[]={"THE","TEN", "MEN", "MEET"};
bool leadingzeroesallowed=false;
bool digitsunique=true;
bool findallsolutions=false;
string all="";
int numberofwords;
void initialise() {
numberofwords=sizeof(thewords)/sizeof(*thewords);
for (int i=0;i<numberofwords;i++)
all=all+thewords[i];
sort(all.begin(), all.end());
string::iterator it = unique (all.begin(), all.end());
all.resize( it - all.begin() );
}
int eval(string s, vector<int>v) {
int i=s.length();
int factor=1;
int sum=0;
while(i--) {
for (int j=0;j<all.length();j++)
if(s[i]==all[j]){
sum=sum+factor*v[j];
break;
}
factor=factor*10;
}
return sum;
}
void check(vector<int>v) {
//The next line may need changing
if (eval(thewords[0],v) + eval(thewords[1],v) + eval(thewords[2],v) == eval(thewords[3],v)) {
if(digitsunique) {
vector<int>v2=v;
sort(v2.begin(), v2.end());
vector<int>::iterator it = unique (v2.begin(), v2.end());
v2.resize( it - v2.begin() );
if (v2.size() != v.size())
return;
}
if(not leadingzeroesallowed) {
for (int j=0;j<all.length();j++) {
for (int k=0;j<numberofwords;j++)
if(thewords[k][0]==all[j]){
if (v[j]==0)
return;
}
}
}
cout << "Answer!" << endl;
for (int i=0; i<v.size() ; i++) {
cout << all[i] << " = " << v[i] << endl;
}
if (not findallsolutions)
exit(0);
}
}
void recurse(vector<int>v) {
if (v.size()== all.length())
check(v);
else
for (int i=0;i<10;i++){
vector<int>v2=v;
v2.push_back(i);
recurse(v2);
}
}
int main() {
vector<int> v;
initialise();
for (int i=0;i<10;i++){
v.clear();
v.push_back(i);
recurse(v);
}
}
Letters
Agree on a font of capital letters.
Put the letters into sets according to line symmetry
Put the letters into sets according to rotational symmetry
Put the letters into sets according to topology
How many letters only use straight lines?
There is only one number whose English name uses as many straight
lines to write as the number itself.
Think of a number. Write it out in words. Write in words the number of
letters you've used (E.g. SIXTEEN-SEVEN-FIVE-FOUR). Continue do so and see what happens. Try 3 other numbers.
You always end at FOUR. In german you end up at VIER.
Numbers
Alan, Bill and Chris dug up 9 nuggets. Their weights were
154, 16, 19, 101, 10, 17, 13, 46 and 22 kgs. They took 3 each. Alan's
weighed twice as much as Bill's. How heavy were Chris's nuggets?
Ans: 272. Here's some octave code
nuggets=[154, 16, 19, 101, 10, 17, 13, 46 22];
alan=nchoosek(1:9,3);
[r c]=size(alan);
for i=1:r
alanchoice=alan(i,:);
indices=1:9;
indices(alanchoice)=[];
bill=nchoosek(1:6,3);
[r2 c2]=size(bill);
for j=1:r2
billchoice=indices(bill(j,:));
newindices=1:6;
newindices(bill(j,:))=[];
chrischoice=indices(newindices);
if (sum(nuggets(alanchoice))==2*sum(nuggets(billchoice)))
sum(nuggets(chrischoice))
end
end
end
The product of 3 sisters' ages is 175. Two are twins. How old is
the other one?
Ans: 7
A person has 2 bankcards, each with a 4 digit number. The 1st number
is 4 times the 2nd. The 1st number is the reverse of the 2nd. What
is the first number?
Ans: 8712. You could use trial and error. The smaller number must start with a 1
or a 2 (otherwise the bigger number would have 5 digits) so the bigger
number must end with 1 or 2. Actually, it has to be 2, because the bigger number must
be a multiple of 4. Consequently the numbers are 2**8 and 8**2. The digit
after the 2 has to be small (because 4 times the number is less than 10).
Alternatively, here's an Octave program
for a=0:9
for b=0:9
for c=0:9
for d=0:9
number1=1000*a+100*b+10*c+d;
number2=1000*d+100*c+10*b+a;
if (number1 == 4*number2)
disp(number1)
end
end
end
end
end
Tom has 7 sandwiches, Jan has 5, Simon has none. They share them
out equally. Simon leaves, paying for his sandwiches by leaving 12 biscuits.
What's the fairest way for Tom and Jan to share out the biscuits?
Ans: 3 to Jan
A cyclist buys a cycle for 15 pounds paying with a 25 pound cheque.
The seller changes the cheque next door and gives the cyclist 10 pounds
change. The cheque bounces so the seller paid his neighbour back. The
cycle cost the seller 11 pounds. How much did the seller lose?
Ans: 21 pounds?
Using four "4"s and common symbols (including the square root, factorial
and recurring decimal symbols), make sums whose answers
are 0, 1, 2....100 (See Mathematical Bafflers)
Make fractions (each using all the digits from 1 to 9) with these values
1/2, 1/3....1/9
Ans:
A greengrocer was selling apples at a penny each, bananas at 2
for a penny and pears at 3 for a penny. A shopper spent 7p and got the same amount (greater than 0) of each type of fruit for each of
their 3 children. What did each child get?
Ans: 1 apple, 2 bananas and 1 pear.
A woman bought something costing 34c. She only had 3 coins: $1, 2c and
3c. The shopkeeper had only 2 coins: 25c and 50c. Fortunately another
customer had 2 10c coins, a 5c coin, 2 2c coin and a 1c coin. How did they
sort things out?
Ans: They pool the money. The woman takes 71 (50 + 10 + 10 + 1), the shopkeeper takes 109 (100 + 5 + 2 + 2) and
the customer 30 (25 + 3 + 2).
Mr and Mrs A are 120 km apart. A bee is on Mr A's nose. The couple
cycle towards each other, Mr A at 25km/h and Mrs A and 15km/h. The bee
dashes from Mr A's nose to Mrs A's nose and back again and so on at 60km/h.
How far does the bee travel before the cyclists crash?
Ans: The cyclists crash after 3 hours so the bee flies 180km.
Pick a number. If it's even, divide by 2. If it's odd multiply by 3
and add 1. Continue this until you reach "1". Eg 3-10-5-16-8-4-2-1. Which
integer less than 100 produces the longest chain?
Ans: 97 leads to a 119 link chain. The lowest number that causes a
long chain is 27 (112 links).
Pick a number. Multiply the digits together. Continue until you
get a single digit. What is the only 2 digit number which would require
more than 3 multiplication?
Ans: 77
Starting with 1, place each integer in one of 2 groups so that neither
contains a 3 term Arithmetic Progression. How far can you go?
Ans: Up to 8.
The following 2 questions use the following result -
"Given integers a and b the biggest number that can't be expressed in
the form ia + jb is ab - a - b."
Apples are packed in boxes of 8 and 15. What is the biggest number of
apples that would require loose apples?
Ans: 97
A country only has 5p and 7p coins. Make a list of prices that you
could give exact money for. What is the highest prices that you couldn't
give exact money for?
Ans: 23
If D = the day (1-366) in year Y, then the day of the week can be
calculated using
d = D+Y+(Y-1)/4 - (Y-1)/100 + (Y-1)/400 mod7
where d=1 would mean Sunday, etc. Can the first day of each century
(e.g. 1st Jan 2001, 1st Jan 1901) be any day?
Ans: No. Just Monday, Tuesday, Thursday or Saturday. See
"Mathematical Bafflers"
Pick 3 digits (not zero) and make 6 2-digit numbers from them. Add
up all these numbers, add up all the original digits and divide the
first total by the second.
Ans: 22
How many presents did the "true love" send during the 12 days
of Christmas?
Ans: 364
At a fairground stall there are 3 piles of cans. You get 3 throws. You can
only knock off the top can of a pile. The
2nd throw counts double, the 3rd triple. How do you get exactly 50?
Ans: 7, 8, 9
If you add the digits in the 1st, 3rd, 5th etc positions of a natural number, and get the
same total as you get by summing the other digits, the number is exactly divisible by 11. For example, 17248 is a multiple of 11 because 1+2+8 equals 7+4. But the opposite isn't true - there are multiples of 11 for which the sums don't match. What's the smallest natural number for which this is so?
Here's a C++ solution
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main() {
string s;
for (long num=11;num<10000;num+=11) {
std::ostringstream o;
if (o << num)
s=o.str();
else
s="";
int odds=0;
int evens=0;
for (int i=0;i<s.length();i++)
if (i%2)
evens+=s[i]-'0';
else
odds+=s[i]-'0';
if (odds!=evens) {
cout << num << " is a multiple of 11, but " << odds << " !=" << evens << endl;
break;
}
}
}
2 people set out on a journey. One of them walks at a constant 4km/hour. The other walks at 2km/hour for the 1st kilometre, 3km/hour for the 2nd kilometre, and so on. When does the 2nd person catch up with the 1st?
After about 101 minutes.
Enumerations
Holding its hands out, palms upward a child starts counting on all its fingers and thumbs, going to and fro. If it
counts up to 1982 which finger does counting end on?
Ans: (middle finger is 3 or 7 (mod8)).
You have 3 bricks, each measuring 18 x 9 x 6 cm. How many
different heights can you build up with them?
Ans: 10. A solution in Octave is
How many right-angled triangles with integral sides have one side
of 15?
Ans
9, 12, 15
15, 20, 25
15 112 113
8 15 17
15 36 39
Minibuses seating 10, 12 and 15 passengers can be used to convey 120
passengers. There are 5 of each size of bus. How many different ways can
the buses be used so that all the ones used are full? Which way uses the
least buses?
Ans
10 12 15
--------
3 5 2
4 3 3
5 4
Roosters cost 5 pounds, hens 3 pounds and 3 chicks cost 1 pound.
Buying at least one of each type of bird how can you buy 100 birds for
exactly 100 pounds?
Ans
Rooster Hen Chick
4 18 78
8 11 81
12 4 84
A woman puts 120p on the counter. "some 4p stamps, 6 times as many 2p
stamps and the rest in 5p stamps please". What does she need?
Ans: 5 4p's.
A cube is painted white and cut into 27 small cubes. How many
of these little cubes are painted on i) 1, ii) 2, iii) 3, iv) 0 sides?
See SMP E for answers and developments
Geometry
9 geraniums have to be planted so that there are 3 plants in each row.
How can they be planted so that there are a) 8 b) 9 c) 10 lines.
Ans:
How many straight lines of unique lengths can you draw from dot to dot?
Ans: 5
How many non congruent triangles can you draw?
Ans: 8
Miscellaneous
I have some square tiles. Half of them are black and the other ones
are white. I arrange them so that the black ones form a rectangle
and the white ones make a border around them one tile thick. I have no
tiles left over. How many tiles do I have?
A man buys 5 cigarettes a day for 25 days. He keeps the stubs.
From 5 stubs he made a new cigarette. How many cigarettes does he smoke
during this period?
The bacteria in a test-tube double each minute. It is full in one
hour. When was it half full?
Ans: 59 mins.
In a knockout with 39 players, how many games are played?
Ans: 39-1
In a knockout with 39 players, how many byes?
Ans: 3 (find 2**n such that 2**n>39 then express 2n-39 in base 2 and
count 1's in the binary number)
A necklace is made from 4 chains each of 3 links. It costs 1p to
cut a link and 2p to resolder it. How can a necklace be made for 9p?
Ans: Cut one chain into 3 links. Use these to connect up the rest.
If a crocus costs 8p, a tulip 7p and a daffodil 11p, how much does
a hyacinth cost?
Hint: count the vowels and consonants
Arrange a line of 5 coins as follows
Head Head Head Tail Tail Tail
In 3 moves (each move consisting of turning over a pair of adjacent coins),
arrange the coins so that Heads and Tails alternate.
Ans: Swop 3 and 4, 4 and 5, then 2 and 3
Town A and town B are 99 km apart. There are 98 km posts between them.
On each post is the distance to A and the distance to B. On how many posts
are only 2 different digits used? (for example, the post that says
'A 33, B 66' only uses 2 digits).
From SMP. 18 posts: 11, 18, 22, 27, 33, 36, 44, 45...
Clocks -
How many times is a stopped clock correct each week?
A clock goes at the right speed, but backwards. How many times each week
does it tell the
right time?
Knights
If you follow the jumps of a chess knight from word to word you can
make a 20 word sentence about the ages of Sue and Sal. Sue is in her
teens, so how old is Sal?
Ans: Start at Sal in the bottom row. Sal is 8 (thanks to Jenny
Leppington-Clark for discussing this puzzle, and thanks to Sweta Singh for
pointing out the right answer).
The sentence is "SAL IS NOW HALF AS OLD AS SUE WAS WHEN SAL WAS A THIRD AS OLD AS SUE IS NOW". So let's create some variables - SueNow and SalNow are the ages now, and SueThen and SalThen are the ages X years ago. Then
SalNow = SueThen/2
and
SalThen = SueNow/3.
Also
SueNow = SueThen + X
SalNow = SalThen + X
Substituting, we get
SalThen + X = SueThen/2
and
SalThen = (SueThen + X)/3
Subtracting, we get
X = SueThen/2 - SueThen/3 - X/3
so
4X/3 = SueThen/6
and hence
8X = SueThen
So, assuming X is an integer and Sue is now a teenager, X=2 and SueThen
will be 16. That makes SueNow 18 and SalNow 8.
On a 5 by 5 chessboard, a knight on the centre square would have 8
possible moves. Draw a 5 by 5 grid and put "8" in the middle square.
Fill in the other squares with the number of moves that a knight would
have from that square.
Draw a 5 by 5 chessboard. Put a "0" in the top left corner square.
Imagine a knight there. Put a "1" in all the squares that it can reach
in 1 go, a "2" in all the squares that it can reach in a minimum of 2 goes,
etc, until all the squares are filled in. Which squares take the longest to reach?
Make a table showing how many lines are used for each digit.
While changing from 0 to 1, four bars are turned off. No new ones
are turned on. Make a table of what happens as the digits change
ON OFF
0->1 0 4
1->2
...
9->0
Add up the "OFF" and the "ON" columns. What do you notice?
Palindromes
A car milometer shows 15951. After 2 hours it shows another
palindromic number. How fast was the car going on average?
Pick a 2 digit number. Reverse it then add to the original number.
Have you got a palindrome? If not then repeat the process. Try all
the 2 digit numbers (as a class activity) (from Mathematical Bafflers).
Ans
Sum of digits 1-9 10 11 12 13 14 15 16 17 18
Num of additions 1 2 1 2 2 3 3 6 24 6
References
"Mathematical puzzles and pastimes", A. Bakst,
Princeton,N.J, 1965.
"More mathematical activities: a resource book for teachers",
Brian Bolt,
Cambridge University Press, 1985.
"The Corgi Book of Problems", Jameson Erroll, Transworld Publishers
Ltd., 1964.