Hinweis: Dies ist die strahlungshärtende Version meiner vorherigen Herausforderung Pristine Bit Checking . Dies sollte viel schwieriger sein als dieser.
Schreiben Sie ein Programm / eine Funktion, die zwei Ganzzahlen im Bereich von bis einschließlich akzeptiert und zurückgibt, ob die Binärformen der Zahlen genau ein Bit unterschiedlich sind.
Zum Beispiel haben und binäre Formen und , die ein Bit voneinander entfernt sind. In ähnlicher Weise und sind und , so sie wahr zurück.00000001
00000000
010011000
000011000
Allerdings müssen SieCode sein strahlungsgehärtet , so dasswenn jemand etwas in Ihrem Programm gekippt wird, soll es immer noch korrekt funktionieren. Wenn Ihr Programm beispielsweise das Einzelbytea
(01100001
) war, dann alle 8 möglichen geänderten Programme:
á ! A q i e c `
muss noch richtig funktionieren. Stellen Sie sicher, dass Sie nach Bytes ändern (z. B. á
repräsentiert das oben stehende tatsächlich das Byte , nicht das tatsächliche Zwei-Byte-Zeichen ).á
Testfälle:
Mit der Bedeutung der Wahrheit unterscheiden sie sich um ein Bit.
0,1 => Truthy
1,0 => Truthy
152,24 => Truthy
10,10 => Falsey
10,11 => Truthy
11,12 => Falsey
255,0 => Falsey
Regeln:
- Stellen Sie ein Testframework bereit, mit dem überprüft werden kann, ob Ihr Programm ordnungsgemäß strahlungsgehärtet ist, da es viele mögliche Programme gibt (Anzahl der Bytes * 8), oder einen vollständigen Gültigkeitsnachweis.
- Bitte überprüfen Sie , ob Ihr Programm gültig ist, bevor Sie es veröffentlichen.
- Die Ausgabe kann entweder wahr / falsch sein (so oder so ist es in Ordnung) oder als ein eindeutiger Wert für wahr und der Rest als falsch
- Dies kann durch eine der Standardeingabe- / Ausgabemethoden erfolgen
Hier ist ein Hilfsprogramm , mit dem alle Variationen eines eingegebenen Programms erstellt werden können.
Antworten:
HTML + JavaScript, 210 Bytes
Seite mit Suchparametern öffnen
index.html?a=1&b=2
.Validierung (Python + Selen + Firefox)
Verwendungszweck:
python3
undfirefox
installiert.pip install selenium
Wie
Wenn die Änderung beim ersten Mal des Skripts erfolgt. Das Skript gibt einige Fehler aus (Syntaxfehler, undefinierte Variable usw.). Und das zweite Mal des Skripts wird korrekt ausgeführt und überschreibt die Ausgabe.
Wenn die Änderung nicht beim ersten Mal des Skripts erfolgt. Die Skriptausgabe
Lernen Sie einige (nutzlose) HTML-Kenntnisse
quelle