AOJ 0125 - Day count
書くだけ.
#include <iostream> int MAX_DAY[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; class Data{ public: Data(int _year, int _month, int _day) : year(_year), month(_month), day(_day){} void add(){ if(year%4 == 0){ if(year%100 != 0 || year%400 == 0) MAX_DAY[2] = 29; } else MAX_DAY[2] = 28; if(day < MAX_DAY[month])day++; else{ year += month / 12; month = month%12 + 1; day = 1; } } bool equals(Data d){ return (d.year == year && d.month == month && d.day == day); } int year, month, day; }; int main(){ int y0, m0, d0, y1, m1, d1; while(std::cin >> y0 >> m0 >> d0 >> y1 >> m1 >> d1, y0 != -1){ Data a = Data(y0, m0, d0), b = Data(y1, m1, d1); int count = 0; while(!a.equals(b)){ a.add(); count++; } std::cout << count << std::endl; } }