Đưa ra danh sách các số nguyên {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}
. Đối với những người quan tâm những con số này được sử dụng trong tính toán ngày trong tuần.
Ngày trong tuần = (m[n] + d + y + y>>2 + y/400 - y/100) % 7;
, nơi m[n]
- biểu thức tôi đang tìm kiếm, d
- ngày trong tháng, y
- year - (month <= 2)
.
Xây dựng biểu thức bao gồm các toán tử số học, logic và bitwise, sẽ xuất ra số n
nguyên nguyên dương m
sao cho m % 7
bằng số thứ n trong danh sách.
Các chi nhánh, toán tử ternary, tra cứu bảng và con trỏ không được phép.
Điểm:
1 - cho | & ^ ~ >> <<
toán tử
1.1 - cho + - < > <= >= == != ! && ||
toán tử
1.2 - cho *
toán tử
1.4 - cho / %
toán tử
Trả lời với số điểm thấp nhất sẽ thắng.
Cá nhân tôi đã tìm thấy:
(41*n)>>4+((n+61)>>4)<<2
với số điểm 6.4. Tôi nghĩ rằng điều này sẽ khó tìm thấy vì vậy cung cấp biểu thức riêng để bắt đầu.
table lookups