Does Your Name Sums Up To A Prime Number?
I just finished a wonderful book! The Curious Incident Of The Dog In The Nighttime is a masterpiece, written by Mark Haddon, a famous English children’s book writer who decided to write this book for adults.
A curious thing is that chapters are numbered after prime numbers, rather than conventional successive numbers. The last chapter is 233, which is the 51° prime number. In the chapter 19, he describes a simple algorithm to figure out prime numbers. In his words:
“… you write down all the positive whole numbers in the world. Then you take away all the numbers that are multiples of 2. Then you take away all the numbers that are multiples of 3. Then you take away all the numbers that are multiples of 4 and 5 and 6 and 7 and so on. The numbers that are left are prime numbers”
In one of his insights, he used to get someone’s name, give each letter a value from 1 to 26 and sum the values of each letter of the name to check whether the total is a prime number. So, I thought it would be fun to explore this unique way of seeing things using Clojure. First, we create a map of letters and numbers, where the letters are keys in a map and numbers are their respective values:
The keys are literal characters and the numbers are positive integers. Using the map, we sum the characters of a name:
Is 98 a prime number? No, because it’s even and even numbers have at least 3 divisors: 1, 2 and itself. The algorithm that applies this one and other rules is the following:
That’s a pity my own name doesn’t sum up to a prime number, but the book gave some names to test the code:
Wait a minute… he uses first and last names! So, let me test with mine:
Yeeeeeesssss! I’m primenumbered!!!
Recent Posts

Making a Configurable Go App

Dealing With Pressure Outside of the Workplace

Reacting to File Changes Using the Observer Design Pattern in Go

Provisioning Azure Functions Using Terraform

Taking Advantage of the Adapter Design Pattern

Applying The Adapter Design Pattern To Decouple Libraries From Go Apps

Using Goroutines to Search Prices in Parallel

Applying the Strategy Pattern to Get Prices from Different Sources in Go

Deploying an Azure Function in Go

Developing an Azure Function in Go

Go as a Business Language

Table Versioning With Liquibase

Go: Ugly and Boring for the Good of Software

The Anxious Newcomer

Dealing With Money in Software