Wie kann man feststellen, ob eine Zahl ungerade oder gerade ist, ohne mod- oder bitweise Operationen?
Diese Herausforderung ist äußerst ineffizient, fordert jedoch Ihre Fähigkeit heraus, über den Tellerrand hinauszudenken, um eine kreative Lösung zu finden.
EDIT :
Bitte erstellen Sie eine Funktion. Auch wenn Regex eine unterhaltsame Antwort ist, sollte die Funktion jede gültige Zahl akzeptieren .
HINTERGRUND : Diese Frage stammt aus meinen frühesten Programmiertagen. Die Hausaufgabe für unseren ersten Unterrichtstag bestand darin, ein einfaches Programm zu schreiben, das "ungerade" oder "gerade" druckte. Da ich der Balg war, habe ich das Buch, das wir für die Klasse hatten, nicht gelesen. Es zeigte uns einfach, wie man%das bestimmt. Ich verbrachte ungefähr eine halbe Stunde damit, in meinem Zimmer auf und ab zu gehen, und hatte in der Vorlesung daran gedacht, dass Zahlen an Präzision verlieren und zunehmen können, wenn sie von einem primitiven Typ zum nächsten gewechselt werden. Wenn Sie also die Zahl nehmen, durch zwei teilen und dann zurückmultiplizieren, entspricht dies nicht der ursprünglichen Zahl, und Sie würden wissen, dass die Zahl ungerade ist.
Ich war am nächsten Tag fassungslos, als unser Ausbilder unsere Programme evaluierte. Er fand, dass dies die originellste, wenn auch ineffizienteste Art war, das Problem zu lösen.