Verilen tamsayıların listesi {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}. Bu sayılarla ilgilenenler için hafta içi hesaplamada kullanılır.
Hafta içi = (m[n] + d + y + y>>2 + y/400 - y/100) % 7;, nerede m[n]- aradığım ifade, d- ayın günü, y- year - (month <= 2).
Pozitif tamsayı ntamsayısı için çıkış yapacak aritmetik, mantık ve bitsel işleçlerden oluşan ifadeyi , listede n m. m % 7Sayıya eşit olacak şekilde oluşturun .
Şubeler, üçlü operatörler, masa aramaları ve işaretçiler yasaktır.
Puan:
1 - | & ^ ~ >> <<operatörler için
1.1 - + - < > <= >= == != ! && ||operatörler için
1.2 - *operatörler için
1.4 - / %operatörler için
En düşük puanla cevap kazanır.
Şahsen buldum:
(41*n)>>4+((n+61)>>4)<<26,4 puanla. Başlamak için bu şekilde sağlanan kendi ifadesini bulmak zor olacağını düşündüm.
table lookupsHerhalde İlginç cümleleme ...