?

Log in

No account? Create an account

rauf


Блог Алиева Рауфа

О жизни и о себе


чем бы озаглавить…
rauf
я тут в процессе доработки своего календаря пресейлов столкнулся с очень интересной задачкой. Решил ее, но интересно услышать какие-нибудь решения. Этой задачи стопудово нет нигде в интернете и в книжках, так что яндекс можете не терзать.

Итак, представьте себе, что есть календарик:

x=0 1 2 3 4 5 6 | f(x,y)
---------------------|---------
пн-вт-ср-чт-пт-сб-вс |
.. .. 01 02 03 04 05 | 0
06 07 08 09 10 11 12 | 1
13 14 15 16 17 18 19 | 2
20 21 22 23 24 25 26 | 3
27 28 29 30 | 4


x=номер дня в неделе. 0-понедельник,1-вторник, и т.д.
y=номер дня в месяцев. 1-первый день, 2-второй и т.д. короче, число месяца.

нужно сделать функцию f(x,y), которая бы возвращала номер строки в календаре выше.

Ограничение: Это должна быть именно функция, делающая над x и y некоторые арифметические операции, результатом которых должно быть число - от 0 до 4.

Допущение: можно при необходимости использовать функции выделения целой части, остатка, функцию "знак" (-1 для отр. чисел, 0 - для нуля и 1 - для положительных чисел).

Задачка очень нетривиальная.