mscroggs.co.uk
mscroggs.co.uk

subscribe

Blog

 2023-11-22 
This year, the front page of mscroggs.co.uk will once again feature an Advent calendar, just like in each of the last eight years. Behind each door, there will be a puzzle with a three digit solution. The solution to each day's puzzle forms part of a logic puzzle:
It's nearly Christmas and something terrible has happened: a machine in Santa's toy factory has malfunctioned, and is unable to finish building all the presents that Santa needs. You need to help Santa work out how to fix the broken machine so that he can build the presents and deliver them before Christmas is ruined for everyone.
Inside the broken machine, there were five toy production units (TPUs) installed at sockets labelled A to E. During the malfunction, these TPUs were so heavily damaged that Santa is unable to identify which TPU they were when trying to fix the machine. The company that supplies TPUs builds 10 different units, numbered from 0 to 9. You need to work out which of the 10 TPUs needs to be installed in each of the machine's sockets, so that Santa can fix the machine. It may be that two or more of the TPUs are the same.
Behind each day (except Christmas Day), there is a puzzle with a three-digit answer. Each of these answers forms part of a clue about the machine's TPUs. You must use these clues to work out which TPU to install in each socket. You can use this page to plug in five TPUs and test the machine. It takes a significant amount of Santa's time to test the machine, so you can only run a very small number of tests each day.
Ten randomly selected people who solve all the puzzles, fix the machine, and fill in the entry form behind the door on the 25th will win prizes!
The prizes will include an mscroggs.co.uk Advent 2023 T-shirt. If you'd like one of the T-shirts from a previous Advent, they are available to order at merch.mscroggs.co.uk.
The winners will be randomly chosen from all those who submit the entry form before the end of 2023. Each day's puzzle (and the entry form on Christmas Day) will be available from 5:00am GMT. But as the winners will be selected randomly, there's no need to get up at 5am on Christmas Day to enter!
As you solve the puzzles, your answers will be stored. To share your stored answers between multiple devices, enter your email address below the calendar and you will be emailed a magic link to visit on your other devices.
To win a prize, you must submit your entry before the end of 2023. Only one entry will be accepted per person. If you have any questions, ask them in the comments below, on Twitter, or on Mastodon.
So once December is here, get solving! Good luck and have a very merry Christmas!
×9                  ×3      ×4
(Click on one of these icons to react to this blog post)

You might also enjoy...

Comments

Comments in green were written by me. Comments in blue were not written by me.
Thank you Matthew. 23rd was my favourite puzzle as the cuisenaire rods helped me and I worked with my son to get a final answer. Happy New Year.
Jenny
   ×1   ×2   ×1   ×1     Reply
loving the new and harder types of puzzles this year :)
V
   ×1   ×1   ×3   ×3     Reply
@Seth Cohen: Even with those hints I just can't seem to get this one!
Steve
×6   ×6   ×6   ×6   ×6     Reply
I really like 22, and will be using it with my top set Year 10s when I do circle theorems next term :)
Artie Smith
×7   ×6   ×6   ×7   ×6     Reply
I love doing your puzzles, your advent ones as well as the Chalkdust Crossnumbers - thank you!
Merrilyn
×9   ×8   ×8   ×8   ×8     Reply
 Add a Comment 


I will only use your email address to reply to your comment (if a reply is needed).

Allowed HTML tags: <br> <a> <small> <b> <i> <s> <sup> <sub> <u> <spoiler> <ul> <ol> <li> <logo>
To prove you are not a spam bot, please type "ratio" in the box below (case sensitive):
 2023-11-03 
I showed off an unfinished version of the content in this blog post in the first Finite Group live stream in October. I'll be showing off other upcoming things and other content at future Finite Group events. If you'd like to watch this, you can sign up to our Patreon at finitegroup.co.uk.
A few months ago at Cheltenham Science Festival, Hana Ayoob showed me how to make an 8-page zine. If you've not make one before, I recommend following these steps now.
Take a piece of A4 paper, and fold it 3 times like this:
Unfold all the folds except the first one and cut along the red line:
After unfolding, your paper should look like this:
Fold the paper in half the other way:
Push the two ends of the paper together so that the front of the middle bit of paper comes forward, and the back goes backward:
Finally, flatten all the pages and you have your zine:
You're now free to write or draw whatever you like on the 8 pages of your zine. If you'd like to fold a zine that already has content printed on it, you can print the instructions for the TMiP puzzle hunt that I wrote earlier this year, or you can print this blog post off in zine format.

A 16-page zine

If you're anything like me, you'll already be wondering if it's possible to do some more folding and cutting to make a 16-page zine from a piece of A4. After some trial and error, I found that you can if you fold the paper 4 times then cut along these red lines:
(This time, I've drawn the diagram with a portrait piece of paper, as this leads to a portrait zine. For an 8-page zine, a landscape piece of paper led to a portrait zine.)
Instead of drawing which lines we need to cut, we can represent our two zines so far by drawing lines that connect the pages in order:
During my experimentation, I saw that every second connection between pages must be horizontal. These horizontal connections end up in the spine of the zine and allow the pages to turn. If you can't visualise why the pages won't turn if this condition doesn't hold, try making a 16-page zine like this:

32-page zines

Now that we can make a 16-page zine, the obvious question is: can we make a 32-page zine? To answer this, we need to look for lines that go through all 32 pages where every second connection is a horizontal. I wrote a Python script to look for these and it found 3:
The code also told me that the 8- and 16-page zines we know about are the only 8- and 16-page zines. I'm only counting the zines where the pages in the final zine are portrait, and have the same side ratio a the original piece of A4 paper: there will be other possible zines where the pages are landscape that we aren't counting.

2n-page zines

Now that we have 8-page, 16-page, and 32-page zines, we can look for patterns that we can generalise to make a 2n-page zine. This generalisation was the first I came up with:
One possible 2n-page zine for n=3 to 12 (click to enlarge)
There are, of course, many other generalisations that you could come up with.

How many zines?

While working towards our generalised zine, you may have started pondering another question: for any given n, how many different 2n-page zines can be made?
For n=2, there's only one way to make a zine (fold the paper twice). For n=3 to 6, we've already seen that there are 1, 1, and 3 ways to make zines. The code I wrote was also able to tell me that there are 31 possible 64-page zines:
All 31 possible 64-page zines (click to enlarge)
So the start of the sequence of the number of possible zines is: 1, 1, 1, 3, 31.
The number of different possible paths to check increases very quickly as we increase n, so I was unable to compute the next term in a reasonable amount of time.
I've submitted this sequence to the OEIS. Let's hope someone is able to work out the next term. If you're that someone, let me know!
×3      ×2      ×3      ×3      ×4
(Click on one of these icons to react to this blog post)

You might also enjoy...

Comments

Comments in green were written by me. Comments in blue were not written by me.
 Add a Comment 


I will only use your email address to reply to your comment (if a reply is needed).

Allowed HTML tags: <br> <a> <small> <b> <i> <s> <sup> <sub> <u> <spoiler> <ul> <ol> <li> <logo>
To prove you are not a spam bot, please type "u" then "n" then "c" then "o" then "u" then "n" then "t" then "a" then "b" then "l" then "e" in the box below (case sensitive):
 2023-09-02 
This week, I've been at Talking Maths in Public (TMiP) in Newcastle. TMiP is a conference for anyone involved in—or interested in getting involved in—any sort of maths outreach, enrichment, or public engagement activity. It was really good, and I highly recommend coming to TMiP 2025.
The Saturday morning at TMiP was filled with a choice of activities, including a puzzle hunt written by me: the Tyne trial. At the start/end point of the Tyne trial, there was a locked box with a combination lock. In order to work out the combination for the lock, you needed to find some clues hidden around Newcastle and solve a few puzzles.
Every team taking part was given a copy of these instructions. Some people attended TMiP virtually, so I also made a version of the Tyne trial that included links to Google Street View and photos from which the necessary information could be obtained. You can have a go at this at mscroggs.co.uk/tyne-trial/remote. For anyone who wants to try the puzzles without searching through virtual Newcastle, the numbers that you needed to find are:
The solutions to the puzzles and the final puzzle are below. If you want to try the puzzles for yourself, do that now before reading on.

Puzzle for clue #2: Palindromes

We are going to start with a number then repeat the following process: if the number you have is a palindrome, stop; otherwise add the number to itself backwards. For example, if we start with 219, then we do: $$219\xrightarrow{+912}1131\xrightarrow{+1311}2442.$$ If you start with the number \(10b+9\) (ie 59), what palindrome do you get?
(If you start with 196, it is unknown whether you will ever get a palindrome.)

Show solution

Puzzle for clue #3: Mostly ones

There are 12 three-digit numbers whose digits are 1, 2, 3, 4, or 5 with exactly two digits that are ones. How many \(c\)-digit (ie 1838-digit) numbers are there whose digits are 1, 2, 3, 4, or 5 with exactly \(c-1\) digits (ie 1837) that are ones?

Show solution

Puzzle for clue #4: is it an integer?

The largest value of \(n\) such that \((n!-2)/(n-2)\) is an integer is 4. What is the largest value of \(n\) such that \((n!-d)/(n-d)\) (ie \((n!-1931)/(n-1931)\)) is an integer?

Show solution

Puzzle for clue #5: How many steps?

We are going to start with a number then repeat the following process: if we've reached 0, stop; otherwise subtract the smallest prime factor of the current number. For example, if we start with 9, then we do: $$9\xrightarrow{-3}6\xrightarrow{-2}4\xrightarrow{-2}2\xrightarrow{-2}0.$$ It took 4 steps to get to 0. What is the smallest starting number such that this process will take \(e\) (ie 1619) steps?

Show solution

Puzzle for clue #6: Four-digit number

I thought of a four digit number. I removed a digit to make a three digit number, then added my two numbers together. The result is \(200f+127\) (ie 9727). What was my original number?

Show solution

Puzzle for clue #7: Dice

If you roll two six-sided fair dice, the most likely total is 7. What is the most likely total if you rolled \(1470+g\) (ie 2470) dice?

Show solution

The final puzzle

The final puzzle involves using the answers to the five puzzles to find the four digit code that opens the box (and the physical locked box that was in the library on Saturday. To give hints to this code, each clue was given a "score".
The score of a number is the number of values of \(i\) such that the \(i\)th digit of the code is a factor of the \(i\)th digit of the number. For example, if the code was 1234, then the score of the number 3654 would be 3 (because 1 is a factor of 3; 2 is a factor of 6; and 4 is a factor of 4).
The seven clues to the final code are:

Show solution

×5      ×4      ×4      ×4      ×4
(Click on one of these icons to react to this blog post)

You might also enjoy...

Comments

Comments in green were written by me. Comments in blue were not written by me.
 Add a Comment 


I will only use your email address to reply to your comment (if a reply is needed).

Allowed HTML tags: <br> <a> <small> <b> <i> <s> <sup> <sub> <u> <spoiler> <ul> <ol> <li> <logo>
To prove you are not a spam bot, please type "nogaced" backwards in the box below (case sensitive):
Image: Chalkdust Magazine

Chalkdust issue 17

 2023-05-22 
For the past couple of months, I've once again been spending an awful lot of my spare time working on Chalkdust. Today you can see the result of all this hard work: Chalkdust issue 17. I recommend checking out the entire magazine: you can read it online or order a physical copy.
My most popular contribution to the magazine is probably the crossnumber. I enjoyed writing this one; hope you enjoy solving it.
I also spent some time making this for the back page of the magazine. It's probably the most fun I've had making something stupid for Chalkdust for ages.
Chalkdust Magazine
×3      ×5      ×4      ×3      ×4
(Click on one of these icons to react to this blog post)

You might also enjoy...

Comments

Comments in green were written by me. Comments in blue were not written by me.
 Add a Comment 


I will only use your email address to reply to your comment (if a reply is needed).

Allowed HTML tags: <br> <a> <small> <b> <i> <s> <sup> <sub> <u> <spoiler> <ul> <ol> <li> <logo>
To prove you are not a spam bot, please type "etik" backwards in the box below (case sensitive):
 2023-04-12 
If, like me, you grew up in the 90s, then one of your earliest experiences of programming was probably using Logo. In Logo, you use various commands to move a "turtle" around the screen. As the turtle moves, it can draw lines. I have a very strong memory from early secondary school of spending a few maths lessons in the computer room writing Logo programs to draw isometric houses.
If you read this blog regularly, you'll probably have noticed that I'm a fan of the game Asteroids. Over the last few weeks, I've been working on Logo Asteroids, a version of Asteroids where you control your spaceship using Logo commands. You can play this game at mscroggs.co.uk/logo.
If you've not used Logo before, or if it's been so long since you have that you've forgotten the commands, this blog post will guide you through how to get started. If you're confident in your Logo skills, you might still want to scroll to the end of this post, where I share some custom Logo commands that you might find helpful.
The game's source code is available on Github; you can also use the GitHub issue tracker to report bugs and make feature requests.

Moving the turtle

If you're starting out in Logo, the first thing you'll want to do is move the turtle. You can move it forwards or backwards using the commands fd or bk followed by a number of pixels:
 Logo 
fd 100
bk 75
To change the direction in which the turtle is facing, you can use the command rt (right) or lt (left) followed by an angle in degrees:
 Logo 
rt 90
lt 45
You can also chain together multiple commands on a single line like this:
 Logo 
fd 100 rt 90 fd 100 lt 90
By default, a line is drawn whenever the turtle moves forward or backwards. You can stop lines from being drawn by running the command pu (pen up). To start drawing again, run pd (pen down). If you want to make the game needlessly harder for yourself, you can use the command ht (hide turtle). To make the game easier again, run st (show turtle).
In a normal Logo program, the lines that you draw will stay there until you clear the screen (cs). In Logo Asteroids, the lines will only be visible for a limited amount of time, and the asteroids will bounce off them while they are visible. To prevent too many lines from being drawn too quickly, the turtle can move a maximum of 1000 pixels in a single command (or chain of commands).

Special commands for Logo Asteroids

As well as the Logo commands, there are some commands I have included that are specific to Logo Asteroids. These are:
 Logo 
start
fire
help
The command start will start the game. You'll need to run this before you can run any other commands. You'll also need to run it to start the game again if you run out of lives.
The command fire will fire at the asteroids. This command can be run a maximum of 10 times by a single chain of commands.
The command help will show details of all the available commands below the game.

Defining your own subroutines

If you write some Logo commands that you want to use lots of times, use can use the to command to define a subroutine. For example, the following code defined a command called square that will draw a square of side length 50.
 Logo 
to square fd 50 rt 90 fd 50 rt 90 fd 50 rt 90 fd 50 rt 90 end
The subroutine can then be used by running:
 Logo 
square
The square subroutine can be simplified by using the repeat command:
 Logo 
to square repeat 4 [fd 50 rt 90] end
... or it could be made to take a side length as input:
 Logo 
to square :side repeat 4 [fd :side rt 90] end
This updated version of the square subroutine can then be used by running:
 Logo 
square 50
square 100
square 125

Helpful subroutines for Logo Asteroids

To help you get going with Logo Asteroids, I've written a few subroutines that you might find helful. See if you can work out what they do before running them.
 Logo 
to burst repeat 10 [fire rt 36] end
to protect pu fd 30 pd rt 135 repeat 4 [fd 30 * sqrt 2 rt 90] lt 135 pu bk 30 pd end
to multifire rt 10 repeat 10 [fire lt 2] rt 10 end
If you write your own helpful subroutine, share it in the comments below. You can put <logo> and </logo> HTML tags around your subroutine to make it display more nicely in your comment.
To end this blog post, here's one final subroutine for you to try out:
 Logo 
to house pu setxy 400 225 seth 0 pd lt 30 fd 40 lt 60 fd 40 lt 120 fd 40 lt 60 fd 40 rt 120 fd 50 rt 60 fd 40 rt 120 fd 50 setxy 400 + 20 * cos 30 155 rt 180 fd 50 setxy 400 - 50 * cos 30 160 pu setxy 400 + 20 * cos 30 155 pd setxy 400 + 40 * cos 30 165 pu setxy 400 225 lt 60 pd fd 50 rt 60 fd 50 rt 120 fd 50 pu rt 60 fd 20 pd lt 120 fd 20 rt 120 fd 10 rt 60 fd 20 rt 60 fd 50 pu rt 60 fd 10 pd rt 120 fd 50 ht end
×5      ×5      ×3      ×3      ×5
(Click on one of these icons to react to this blog post)

You might also enjoy...

Comments

Comments in green were written by me. Comments in blue were not written by me.
Very cool! Here's a combination of your "burst" and "protect" subroutines:

to f pu sety 195 setx 390 pd repeat 10 [fire fd 20 rt 36] pu home end
Aaron
×4   ×3   ×4   ×4   ×4     Reply
Bravo! Can't wait to try this!
Bolti
×6   ×2   ×2   ×2        Reply
I didn't include this one in the blog post, but here's a bonus fun command:
to randwalk repeat 100 [rt random 360 fd 10] end


Matthew
×4   ×4   ×4   ×4   ×5     Reply
 Add a Comment 


I will only use your email address to reply to your comment (if a reply is needed).

Allowed HTML tags: <br> <a> <small> <b> <i> <s> <sup> <sub> <u> <spoiler> <ul> <ol> <li> <logo>
To prove you are not a spam bot, please type "f" then "a" then "c" then "t" then "o" then "r" in the box below (case sensitive):

Archive

Show me a random blog post
 2025 

Jun 2025

A nonogram alphabet

Mar 2025

How to write a crossnumber

Jan 2025

Christmas (2024) is over
Friendly squares
 2024 
▼ show ▼
 2023 
▼ show ▼
 2022 
▼ show ▼
 2021 
▼ show ▼
 2020 
▼ show ▼
 2019 
▼ show ▼
 2018 
▼ show ▼
 2017 
▼ show ▼
 2016 
▼ show ▼
 2015 
▼ show ▼
 2014 
▼ show ▼
 2013 
▼ show ▼
 2012 
▼ show ▼

Tags

pythagoras christmas card nonograms propositional calculus mathslogicbot edinburgh braiding matrix of minors inline code ternary youtube ucl data realhats folding paper preconditioning craft go alphabets electromagnetic field rugby geometry pizza cutting signorini conditions rhombicuboctahedron european cup fonts javascript folding tube maps bempp big internet math-off tmip crossnumbers php draughts weather station dates tennis interpolation matrices dinosaurs asteroids raspberry pi quadrilaterals machine learning people maths misleading statistics phd game of life regular expressions news captain scarlet newcastle menace arithmetic binary crochet live stream london games christmas sobolev spaces sound numerical analysis mathsjam exponential growth puzzles gather town correlation guest posts pac-man countdown finite element method world cup anscombe's quartet light stickers crosswords dataset matt parker chebyshev probability football sport logic mean statistics sorting oeis cross stitch speed databet triangles hannah fry dragon curves data visualisation wool inverse matrices kings gerry anderson datasaurus dozen reuleaux polygons trigonometry golden ratio bodmas hyperbolic surfaces palindromes accuracy coins chalkdust magazine manchester science festival pi manchester recursion matrix multiplication polynomials frobel hats a gamut of games convergence gaussian elimination simultaneous equations determinants logo noughts and crosses chess martin gardner plastic ratio error bars golden spiral programming national lottery pi approximation day bots cambridge flexagons advent calendar the aperiodical reddit talking maths in public mathsteroids weak imposition fence posts game show probability platonic solids zines graph theory nine men's morris curvature final fantasy fractals squares royal baby boundary element methods hexapawn wave scattering friendly squares books errors finite group logs map projections python estimation royal institution video games computational complexity runge's phenomenon standard deviation matrix of cofactors harriss spiral approximation turtles numbers radio 4 bubble bobble latex crossnumber stirling numbers pascal's triangle 24 hour maths geogebra graphs london underground

Archive

Show me a random blog post
▼ show ▼
© Matthew Scroggs 2012–2025