Eine binäre Faltung wird durch eine Zahl beschrieben Mund auf eine Zahl angewendet N. Für jedes Bit in der Binärdarstellung von M, wenn das Bit gesetzt ist ( 1), wird das entsprechende Bit in der Ausgabe durch XOR-Verknüpfung der zwei neben dem entsprechenden Bit in liegenden Bits gegeben N(bei Bedarf umlaufend ). Ist das Bit nicht gesetzt ( 0), so wird das entsprechende Bit im Ausgang durch das entsprechende Bit in gegeben N.
Ein funktionierendes Beispiel (mit 8-Bit-Werten):
- Lassen Sie
N = 150,M = 59. Ihre binären Darstellungen sind (bzw.)10010110und00111011. - Basierend auf
Mder Binärdarstellung werden die Bits 0, 1, 3, 4 und 5 zusammengefasst.- Das Ergebnis für Bit 0 wird durch XOR-Verknüpfung der Bits 1 und 7 (da wir herumlaufen) gegeben, was ergibt
1. - Das Ergebnis für Bit 1 wird durch XOR-Verknüpfung der Bits 0 und 2 erhalten
0. - Das Ergebnis für Bit 2 wird durch das ursprüngliche Bit 2 gegeben, was ergibt
1. - Das Ergebnis für Bit 3 wird durch XOR-Verknüpfung der Bits 2 und 4 erhalten
0. - Das Ergebnis für Bit 4 wird durch XOR-Verknüpfung der Bits 3 und 5 erhalten
0. - Das Ergebnis für Bit 5 wird durch XOR-Verknüpfung der Bits 4 und 6 erhalten
1. - Die Ergebnisse für die Bits 6 und 7 sind durch die ursprünglichen Bits 6 und 7 gegeben und ergeben
0und1.
- Das Ergebnis für Bit 0 wird durch XOR-Verknüpfung der Bits 1 und 7 (da wir herumlaufen) gegeben, was ergibt
- Die Ausgabe ist also
10100110(166).
Die Herausforderung
Gegeben Nund der MAusgang des Ergebnis der Durchführung des binären Faltungs beschriebenen Mauf N. Die Ein- und Ausgabe kann in jedem geeigneten, konsistenten und eindeutigen Format erfolgen. Nund Mwird immer im Bereich (einschließlich) liegen [0, 255](8-Bit-Ganzzahlen ohne Vorzeichen), und ihre binären Darstellungen sollten auf 8 Bits aufgefüllt werden, um die binäre Faltung durchzuführen.
Testfälle
150 59 -> 166
242 209 -> 178
1 17 -> 0
189 139 -> 181
215 104 -> 215
79 214 -> 25
190 207 -> 50
61 139 -> 180
140 110 -> 206
252 115 -> 143
83 76 -> 31
244 25 -> 245
24 124 -> 60
180 41 -> 181
105 239 -> 102
215 125 -> 198
49 183 -> 178
183 158 -> 181
158 55 -> 186
215 117 -> 198
255 12 -> 243