题目:http://ace.delos.com/usacoprob2?S=friday&a=mjrl4h7R0TM 题目大意:告诉你一个N 让你统计出(1900)—(1900+N-1)这些年中每个月的13号是星期几 简要分析:注意闰年的情况 /* ID: KJlmfe PROG: friday LANG: C++ */ #include <fstream> using namespace std; int main() { ifstream fcin ("friday.in"); ofstream fcout ("friday.out"); int month[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}}; int Day[7]={0},N,flag,sum_day = 13; fcin >> N; for(int i=1900; i<1900+N; i++) { if( (i%4==0 && i%100!=0) || (i%400==0) ) flag = 1; else flag = 0; Day[sum_day % 7]++; for(int j=1; j<12; j++) { sum_day += month[flag][j]; Day[sum_day % 7]++; } sum_day += 31; } fcout << Day[6]; for(int i=0; i<6; i++) fcout << " " << Day[i]; fcout << endl; return 0; }