Дан список целых чисел {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}. Для тех, кто заинтересован, эти цифры используются при расчете дня недели.
Weekday = (m[n] + d + y + y>>2 + y/400 - y/100) % 7;, где m[n]- выражение, которое я ищу, d- день месяца, y- year - (month <= 2).
Создайте выражение, состоящее из арифметических, логических и побитовых операторов, которые будут выводить целое положительное целое nчисло m, m % 7равное n-му числу в списке.
Ветви, троичные операторы, таблицы и указатели не допускаются.
Оценка:
1 - для | & ^ ~ >> <<операторов
1.1 - для + - < > <= >= == != ! && ||операторов
1.2 - для *оператора
1.4 - для / %операторов
Ответ с наименьшим количеством побед.
Лично я нашел:
(41*n)>>4+((n+61)>>4)<<2с оценкой 6.4. Я думал, что это будет трудно найти, так что при условии собственного выражения для начала.
table lookupsИнтересно фразировка я полагаю ...