Вторник, 11 Марта 2008 г. 22:53
+ в цитатник
Сегодня во френдленте наткнулся на пост уважаемого

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

-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-