March 11th, 2008

Даль светла

Историческое

В XVIII веке всё южнее левого берега Невы частенько называли "материк Ингрия", а севернее правого - "материк Карелия". О как. (Правда, слово "материк" тогда имело несколько иное значение). Ну, в принципе, логично.
  • Current Music
    Frank Klepacki - [Command & Conquer Red Alert 2 Soundtrack #09] Destroy
  • Tags
Даль светла

Программерам

Сегодня во френдленте наткнулся на пост уважаемого binaryanimal, предлагающий использовать выражение (m-4)*(m-6)*(m-9)*(m-11)?m-2?31:y%4?28:29:30 для вычисления количества дней в месяце m в зависимости от года y (в пределах от 1901 до 2099 гг). Мне это выражение не очень понравилось тем, чем переменная m встречалась слишком часто, да и тернарных операторов условия многовато, в связи с чем я поднапрягся и вывел его в виде 31-((m+5)%13%2?(!!(m==2)*(1+!!(y%4))+1):0). Вопрос к уважаемым френдам, сможет ли кто-нить укоротить это выражение не увеличивая количество вхождений переменных m и y? Чур, использовать только с-like синтаксис.

ЗЫ: Я совершенно не сомневаюсь, что сделать это можно, упростив мою формулу (вообще избавившись от тернарного оператора "?")
  • Current Music
    Frank Klepacki - [Command & Conquer Red Alert 2 Yuris Revenge Soundtrack #05] Drok
  • Tags