Gegebene Liste von ganzen Zahlen {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}
. Für Interessenten werden diese Zahlen in der Wochentagsberechnung verwendet.
Wochentag = (m[n] + d + y + y>>2 + y/400 - y/100) % 7;
, wo m[n]
- Ausdruck ich suche, d
- Tag des Monats, y
- year - (month <= 2)
.
Konstruieren Sie einen Ausdruck, der aus arithmetischen, logischen und bitweisen Operatoren besteht, die für eine positive ganze n
Zahl ausgegeben werden, m
sodass die m % 7
n-te Zahl in der Liste entspricht.
Verzweigungen, ternäre Operatoren, Tabellensuchen und Zeiger sind nicht zulässig.
Punktzahl:
1 - für | & ^ ~ >> <<
Bediener
1.1 - für + - < > <= >= == != ! && ||
Bediener
1.2 - für *
Bediener
1.4 - für / %
Bediener
Antwort mit der niedrigsten Punktzahl gewinnt.
Persönlich habe ich gefunden:
(41*n)>>4+((n+61)>>4)<<2
mit Punktzahl 6.4. Ich dachte, dass es schwierig sein wird, einen eigenen Ausdruck zu finden.
table lookups
Interessante Formulierungen, nehme ich an ...