题目
求从1900年1月1日到1900+n-1年12月31日
x月13日星期一至星期日有多少天,记住:从周六开始输出。
分析
模拟,注意闰年
代码
#include <cstdio>
using namespace std;
const int date[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int n,m=1899,ans=0,w[7];
int main(){
scanf("%d",&n);
while (n--){
m++;
for (int i=1;i<13;i++){
w[ans=(ans+6)%7]++;//从x月1日到x月13日到星期几
ans=(ans+date[i]-13+(i==2&&(m%4==0&&m%100!=0||m%400==0)))%7;//到月底(闰年)到星期几
}
}
for (int i=6;i<=12;i++) printf("%d ",w[i%7]);
return 0;
}
本文介绍了一种使用C++编程语言来计算从1900年到指定年份末尾,每个月13号落在星期几的天数的方法。通过模拟算法并考虑闰年的情况,实现了对这一特定日期区间内各星期出现频率的统计。

593

被折叠的 条评论
为什么被折叠?



