题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
整个 202020 世纪(190119011901 年 111 月 111 日至 200020002000 年 121212 月 313131 日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
解法一:python 3
import os
import sys
# 请在此输入您的代码
from datetime import *
dt1=datetime(1901,1,1)
dt2=datetime(2000,12,31)
dt=dt2-dt1
print(dt.days//7)
解法二:Python 3
import os
import sys
# 请在此输入您的代码
sum = 0
for i in range(1901,2001):
if (i%4==0 and i%100!=0) or (i%400==0):
sum += 366
else:
sum += 365
#print(sum % 7) #看看余数
print(sum//7)
解法三:c++
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
for (int i = 1901; i <= 2000; i++) {
if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0)) {
sum += 366;
}
else {
sum += 365;
}
}
//cout << sum % 7<<endl;为6,所以没有到星期一(2000.12.31是星期天)
cout << sum / 7;
return 0;
}
解法四:c语言
#include<stdio.h>
int main(){
int year,day,dayrun=0,dayping=0,sumday=0;
int count=0;
for(year=1901;year<=2000;year++)
{//找出1901到2000年间闰年有多少,平年有多少
if((year%4==0&&year%100!=0)||(year%400==0)){//四年一闰 ,百年不闰,四百年再闰
dayrun+=366;//将所有闰年的天数累加
}
else{
dayping+=365;//将所有平年的天数累加
}
}
sumday=dayrun+dayping;
for(day=2;day<=sumday-7;day+=7)
{//1901年1月1号为星期天,所有以2号为起始点,开始累加
count++;//记录星期一的天数
}
printf("%d",count);
return 0;
}
解法五:Java
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int year = 1901;
int sum = 0;
while(year<=2000) {
if(year%4==0&&year%100!=0||year%400==0) {
sum+=366;
}else {
sum+=365;
}
year++;
}
System.out.println(sum/7);
scan.close();
}
}