Dada lista de números inteiros {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}. Para aqueles interessados, esses números são usados no cálculo dos dias úteis.
Dia da semana = (m[n] + d + y + y>>2 + y/400 - y/100) % 7;, onde m[n]- expressão que estou procurando, d- dia do mês, y- year - (month <= 2).
Construa a expressão que consiste em operadores aritméticos, lógicos e bit a bit, que produzirão um número ninteiro positivo mpara que m % 7seja igual ao n-ésimo número na lista.
Ramos, operadores ternários, pesquisas de tabela e ponteiros não são permitidos.
Pontuação:
1 - para | & ^ ~ >> <<operadores
1.1 - para + - < > <= >= == != ! && ||operadores
1.2 - para *operador
1.4 - para / %operadores
Responda com vitórias mais baixas.
Pessoalmente eu encontrei:
(41*n)>>4+((n+61)>>4)<<2com pontuação 6.4. Eu pensei que isso seria difícil de encontrar, de modo a fornecer uma expressão própria para começar.
table lookupsInteressante fraseado, suponho ... #