AOJ - Problem 0027 : What day is today?
1月1日から順に1日ずつ増やして曜日を判定するようにしました。
ツェラーの公式という西暦、月、日から曜日を求める有名な公式があるのでそちらを使った方がよかったかもしれません。
#include <iostream> #include <string> using namespace std; int main(){ string week[7] = {"Mondey","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; int month[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; int m,d,cnt,mc; while( cin >> m >> d ){ if(m==0) break; mc = 1; cnt = 3; while(1){ for(int i=1 ; i <= month[mc-1] ; i++, cnt++){ if(m==mc && d==i) break; } if(m==mc) break; mc++; } cout << week[cnt%7] << endl; } return 0; }