Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / All-Topics

Alan Turing - Google Doodle Solved

4.50/5 (2 votes)
25 Jun 2012CPOL2 min read 8.5K  
Alan Turing - Google Doodle solved

Google, breaking the pragmatism of creating artistic doodles, has showed up a geeky doodle which is a gateway to Google search results for the greatest mathematician, natural code breaker Alan Mathison Turing who with his inventions laid the strong foundation for modern computing world. The " Alan Turning Doodle " which showed  up on Google's home page today is a tribute to this ingenious.

I didn't care much to solve this doodle for the first couple of Google searches that I made today, but each time I opened Google's home page, it was be-knocking at me by tacitly asking to be solved. I began and it took little time to understand the problem to be solved and here it is.

Problem to be Solved

  • User is expected to match the pattern displayed at the right top corner of the doodle.
  • To match patterns, it is required to shift bits, either 0 or 1 which can be set explicitly.
  • Each time the bits are set, doodle starts matching the modified pattern with the target pattern.
  • And if the match is successful, each letter of the word "GOOGLE" is decoded, i.e., each character's color changes from gray scale to colored.
  • Once all the characters of the word "Google" are decoded, Google redirects you to page displaying search results for Alan Turning

Approach

This is more of a permutation problem combined with the need to set or unset the bits appropriately.

Each time a character is decoded, the level and hence the complexity of the problem increases.

Decoding Patterns for Each Character

G = 01011
O = 00011
O = 00011
G = 01011
L = 01001
E = 10000

And Here is How I Did It

Though I could capture most, but few screenshots are missed.

Decoding G

Image 1

Decoding O

Image 2

Decoding O

Image 3

Decoding G

Image 4

Decoding L

Image 5

Decoding E

Image 6

Google

Image 7

It took a little time for me to solve, but it was worth it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)