这道题暴力就能解决。
#include<bits/stdc++.h> using namespace std; int xi; int day=0,ans[8]; int main() { int n; cin>>n; for(int j=0;j<n;j++) { for(int i=1;i<=31;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } if((1900+j)%4==0&&(1900+j)%100!=0) { for(int i=1;i<=29;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } } else if((1900+j)%400==0) { for(int i=1;i<=29;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } } else for(int i=1;i<=28;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } for(int i=1;i<=31;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } for(int i=1;i<=30;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } for(int i=1;i<=31;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } for(int i=1;i<=30;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } for(int i=1;i<=31;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } for(int i=1;i<=31;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } for(int i=1;i<=30;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } for(int i=1;i<=31;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } for(int i=1;i<=30;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } for(int i=1;i<=31;i++) { day++; if(i==13) { xi=day%7; if(xi==0)ans[7]++; else ans[xi]++; } } } cout<<ans[6]<<' '<<ans[7]<<' '<<ans[1]<<' '<<ans[2]<<' '<<ans[3]<<' '<<ans[4]<<' '<<ans[5]; return 0; }