You are given the following information, but you may prefer to do some research for yourself.
- 1 Jan 1900 was a Monday.
- Thirty days has September,
April, June and November.
All the rest have thirty-one,
Saving February alone,
Which has twenty-eight, rain or shine.
And on leap years, twenty-nine.- A leap year occurs on any year evenly divisible by 4, but not on a century unless it is divisible by 400.
How many Sundays fell on the first of the month during the twentieth century (1 Jan 1901 to 31 Dec 2000)?
I think this was a new record for me. Solved it in about 3 minutes using the Calendar class. No point calculating it out by longhand and revinventing the wheel. If you think I copped out — bite me. The Java Calendar class was built for stuff like this.
import java.util.Calendar;
public class Euler19
{
public static void main(String[] args)
{
System.out.print(“Problem 19:\n”);
Euler19 e = new Euler19();
System.out.print(“Answer = ” + e.Problem()+ “\n”);
}
public String Problem ()
{
int total = 0;
Calendar date = Calendar.getInstance();
for (int year = 1901; year <= 2000; year++)
for (int month = 1; month <=12; month++)
{
date.set(year, month, 1);
if (date.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
total++;
}
return String.valueOf(total);
}
}