sha_lun (sha_lun) wrote,
sha_lun
sha_lun

Сишное

Представьте себе такую задачу:
В переменной y находится номер года.
В переменной m номер месяца (1..12)
Необходимо рассчитать количество дней в этом месяце.

Дополнительные условия:
1.) Сделать код как можно короче
2.) Либами пользоваться нельзя - неспортивно.

Вот мой код:
d=m-2?30+m%2^m>7:28+(!(y%4)&&(!(y%16)||y%25));
попробуйте сделать короче :)

год високосен (то есть содержит 366 дней), если:
а) его номер без остатка делится на 4 и не делится на 100 или
б) его номер делится без остатка на 400.

UPD. Вроде сам немного нашел где поправить
d=m-2?30+m%2^m>7:28+(!(y%4)&&y%25||!(y%16));
Ну, кто короче?
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 3 comments