#include <stdio.h>
int days_in_month(int month, int year) {
if ( month > 12 || month < 1 ) return 0;
if (month == 4 || month == 6 || month == 9 || month == 11) return 30;
else if (month == 2) return (((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? 29 : 28);
return 31;
}
int main() {
printf("10 - 2017 : %d\n", days_in_month
(10, 2017)); printf("2 - 2000 : %d\n", days_in_month
(2, 2000)); printf("2 - 1300 : %d\n", days_in_month
(2, 1300)); // Does not work ! printf("2 - 2018 : %d\n", days_in_month
(2, 2018)); printf("2 - 2016 : %d\n", days_in_month
(2, 2016)); }
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgZGF5c19pbl9tb250aChpbnQgbW9udGgsIGludCB5ZWFyKSB7CiAgICBpZiAoIG1vbnRoID4gMTIgfHwgbW9udGggPCAxICkgcmV0dXJuIDA7CgkKICAgIGlmIChtb250aCA9PSA0IHx8IG1vbnRoID09IDYgfHwgbW9udGggPT0gOSB8fCBtb250aCA9PSAxMSkgcmV0dXJuIDMwOwogICAgZWxzZSBpZiAobW9udGggPT0gMikgcmV0dXJuICgoKHllYXIgJSA0ID09IDAgJiYgeWVhciAlIDEwMCAhPSAwKSB8fCAoeWVhciAlIDQwMCA9PSAwKSkgPyAyOSA6IDI4KTsKICAgIHJldHVybiAzMTsKfQoKaW50IG1haW4oKSB7CiAgICBwcmludGYoIjEwIC0gMjAxNyA6ICVkXG4iLCBkYXlzX2luX21vbnRoKDEwLCAyMDE3KSk7CQogICAgcHJpbnRmKCIyICAtIDIwMDAgOiAlZFxuIiwgZGF5c19pbl9tb250aCgyLCAyMDAwKSk7CiAgICBwcmludGYoIjIgIC0gMTMwMCA6ICVkXG4iLCBkYXlzX2luX21vbnRoKDIsIDEzMDApKTsgLy8gRG9lcyBub3Qgd29yayAhCiAgICBwcmludGYoIjIgIC0gMjAxOCA6ICVkXG4iLCBkYXlzX2luX21vbnRoKDIsIDIwMTgpKTsKICAgIHByaW50ZigiMiAgLSAyMDE2IDogJWRcbiIsIGRheXNfaW5fbW9udGgoMiwgMjAxNikpOwp9