Tags | |
UUID | d6aac85e-d3e5-11e5-9770-bc764e2038f2 |
This equation finds the Palindrome Dates that fall between two input dates.
Palindromes catch our attention, as do graphical images with visual reflections. The mind is excited by things that can remain unchanged when you flip them. It is a long time tirck to present a verbal palindrome in a mirror to see that it reads exactly the same in the reflection or not.
A palindrome is a character string which reads the same backward or forward. Forms of palindromes include words, numbers, phrases (which can include whitespace), or simply sequence of characters.
For example: AaMGMaA and aaammaaa are two palindromes of character sequences. More complex palindromes can be devised from real words or phrases, such as:
"Rise to vote, sir"
Names that can be read the same in a mirror also capture attention when it is realized they are palindromes:
Ada, Anna, Bob, Aviva, Harrah, Eve, Hannah, Maham, or Otto
A palindrome date, as defined in this equation, is an eight digit date representation of the common form used frequently in the US ( MMddyyyy ), which also conforms to the definition of a palindrome.
For example: 10011001, 01011010, 11011011 are three palindrome dates.
It is not clear there are any practical uses for this particular palindrome equation but there may be some obscure application1 of these symmetric numbers and this algorithm allows you to find sets of them.
For the less knowledgeable coder or the non-programmer, this equation is a good reference for a number of simple-to-create but powerful code structures. I challenge anyone who is a new acquaintance of vCalc to duplicate this equation (which takes a single mouse-click) and modify it to have it do something new. Send me information on your creations at:
michael.bartmess@vcalc.com
This palindrome date generation is constrained by the year having a four digit representation and the month and day also being two digits each in this date format. This translates to this equation being limited to a four digit year and thus the latest date that can be entered is December 31, 9999. We also do not allow leading zeroes in years in this format, so the earliest date that can be entered is Jan 1, 1000.
Interestingly this is a very sparse set of palindromes. When looking at the entire allowable range of input dates, almost 8,999 years (01/01/1000 to 12/31/9999), you find only the following valid palindrome dates:
Palindrome Dates: 10011001, 01011010, 11011011, 02011020, 12011021, 03011030, 04011040, 05011050, 06011060, 07011070, 08011080, 09011090, 10111101, 01111110, 11111111, 02111120, 12111121, 03111130, 04111140, 05111150, 06111160, 07111170, 08111180, 09111190, 10211201, 01211210, 11211211, 02211220, 12211221, 03211230, 04211240, 05211250, 06211260, 07211270, 08211280, 09211290, 10311301, 01311310, 12311321, 03311330, 05311350, 07311370, 08311380, 10022001, 01022010, 11022011, 02022020, 12022021, 03022030, 04022040, 05022050, 06022060, 07022070, 08022080, 09022090, 10122101, 01122110, 11122111, 02122120, 12122121, 03122130, 04122140, 05122150, 06122160, 07122170, 08122180, 09122190, 10222201, 01222210, 11222211, 02222220, 12222221, 03222230, 04222240, 05222250, 06222260, 07222270, 08222280, 09222290, 10033001, 01033010, 11033011, 02033020, 12033021, 03033030, 04033040, 05033050, 06033060, 07033070, 08033080, 09033090, 10133101, 01133110, 11133111, 02133120, 12133121, 03133130, 04133140, 05133150, 06133160, 07133170, 08133180, 09133190, 10233201, 01233210, 11233211, 02233220, 12233221, 03233230, 04233240, 05233250, 06233260, 07233270, 08233280, 09233290, 10044001, 01044010, 11044011, 02044020, 12044021, 03044030, 04044040, 05044050, 06044060, 07044070, 08044080, 09044090, 10144101, 01144110, 11144111, 02144120, 12144121, 03144130, 04144140, 05144150, 06144160, 07144170, 08144180, 09144190, 10244201, 01244210, 11244211, 02244220, 12244221, 03244230, 04244240, 05244250, 06244260, 07244270, 08244280, 09244290, 10055001, 01055010, 11055011, 02055020, 12055021, 03055030, 04055040, 05055050, 06055060, 07055070, 08055080, 09055090, 10155101, 01155110, 11155111, 02155120, 12155121, 03155130, 04155140, 05155150, 06155160, 07155170, 08155180, 09155190, 10255201, 01255210, 11255211, 02255220, 12255221, 03255230, 04255240, 05255250, 06255260, 07255270, 08255280, 09255290, 10066001, 01066010, 11066011, 02066020, 12066021, 03066030, 04066040, 05066050, 06066060, 07066070, 08066080, 09066090, 10166101, 01166110, 11166111, 02166120, 12166121, 03166130, 04166140, 05166150, 06166160, 07166170, 08166180, 09166190, 10266201, 01266210, 11266211, 02266220, 12266221, 03266230, 04266240, 05266250, 06266260, 07266270, 08266280, 09266290, 10077001, 01077010, 11077011, 02077020, 12077021, 03077030, 04077040, 05077050, 06077060, 07077070, 08077080, 09077090, 10177101, 01177110, 11177111, 02177120, 12177121, 03177130, 04177140, 05177150, 06177160, 07177170, 08177180, 09177190, 10277201, 01277210, 11277211, 02277220, 12277221, 03277230, 04277240, 05277250, 06277260, 07277270, 08277280, 09277290, 10088001, 01088010, 11088011, 02088020, 12088021, 03088030, 04088040, 05088050, 06088060, 07088070, 08088080, 09088090, 10188101, 01188110, 11188111, 02188120, 12188121, 03188130, 04188140, 05188150, 06188160, 07188170, 08188180, 09188190, 10288201, 01288210, 11288211, 02288220, 12288221, 03288230, 04288240, 05288250, 06288260, 07288270, 08288280, 09288290, 10099001, 01099010, 11099011, 02099020, 12099021, 03099030, 04099040, 05099050, 06099060, 07099070, 08099080, 09099090, 10199101, 01199110, 11199111, 02199120, 12199121, 03199130, 04199140, 05199150, 06199160, 07199170, 08199180, 09199190, 10299201, 01299210, 11299211, 12299221, 03299230, 04299240, 05299250, 06299260, 07299270, 08299280, 09299290
No comments |