C#
#includeint main(){ int x = 0; int ret = 0; int monday[] = {31,28,31,30,31,30,31,31,30,31,30,31}; for(int i = 1901;i<=2000;i++){ if((i%4==0&&i%100!=0) || i%400==0)//闰年 monday[1] = 29; else monday[1] = 28; for(int j=0;j<12;j++){ int temp = (x+1)%7; if((temp+1) == 7) ret++; x += monday[j]; } } printf("%d",ret); }
Java
package exercise;
public class _周日计数 {
public static void main(String[] args) {
int week = 1,res = 0;
int x = 0;
int monday[] = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
for(int i=1901;i<=2000;i++) {
if(i%4==0&&i%100!=0||i%400==0) {
monday[1] = 29;
}else {
monday[1] = 28;
}
for(int j=0;j<12;j++) {
int temp = (x+1)%7;
if((week+temp)==7) {
res++;
}
x += monday[j];
}
}
System.out.println(res);
}
}
结果:171



