Welcome to the new platform of Programmers Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use it's exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.
Today is Ash Wednesday. Can you calculate it?
For the years 1583 to 9999, calculate Ash Wednesday. Obviously, you need first to calculate the date of Easter Sunday, for which you can use any algorithm by the following men: Knuth, Oudin, Butcher, Zeller, or Gauss.
I suggest using Knuth's algorithm although it's a bit longer than the others, because it's clearer. It also has a minor bug beginning and after the year 9906, which he explains in the text following the code. I implemented the explanation and the entire algorithm then works 100%.