<MEMORY>Project Euler NO19

来源:互联网 发布:淘宝新店提取软件 编辑:程序博客网 时间:2024/04/29 04:20

以下是一些已知信息,但是或许你需要自己做一些其他的调查。

  • 1900年1月1日是星期一。
  • 30天的月份有:9月,4月,6月,11月。
  • 此外的月份都是31天,当然2月除外。
  • 2月在闰年有29天,其他时候有28天。
  • 年份可以被4整除的时候是闰年,但是不能被400整除的世纪年(100的整数倍年)除外。

20世纪(1901年1月1日到2000年12月31日)一共有多少个星期日落在了当月的第一天?

public class Problem19{public static void main(String[] args){long start = System.currentTimeMillis();System.out.print("answer:  ");howmany();long end = System.currentTimeMillis();System.out.print("time:  ");System.out.println(end - start);}static void howmany(){int day = 0;int sum = 1;int nu = 0;for (int y = 1900; y <= 2000; y++){for (int m = 1; m <= 12; m++){if (m == 4 || m == 6 || m == 9 || m == 11){day = 30;}else if (m == 2){if (y % 4 ==0 && y % 100 !=0 || y % 400 == 0){day = 29;}else {day = 28;}}else{day = 31;}sum += day;if (y >= 1901 && sum % 7 == 0){nu++;}}}System.out.println(nu);}}


answer:  171
time:  0

0 0
原创粉丝点击