Achtung: Dies ist KEINE "Hey, lass uns einen Kuchen in ASCII-Kunst zeichnen" -Herausforderung! Bitte lies weiter;)
Vor einiger Zeit hatte ich Geburtstag, jetzt bin ich 33 Jahre alt.
So gibt es diese unangenehme soziale Tradition, die darin besteht, Familie und Freunde einzuladen, zahlenmäßige Kerzen auf einen Kuchen zu setzen, Lieder zu singen und Geschenke zu öffnen.
33
--------
Anstelle von Zahlen kann ich das Binärsystem verwenden, um Standardkerzen zu setzen: Ich lege 6 davon auf den Kuchen und zünde zwei davon an.
100001
--------
Ich kann sehen, dass sowohl Dezimal- als auch Binärzahlen meines Alters palindrom sind!
Herausforderung
Ich möchte wissen, ob eine andere Zahl mit Kerzen auf einen Kuchen gesetzt werden kann und palindromisch, dezimal und binär sein kann.
Schreiben Sie ein Programm / eine Funktion, um zu testen, ob eine Zahl sowohl dezimal als auch binär palindrom ist . Aber warten Sie, es gibt noch mehr: In Binärform zählen führende Nullen für den Test!
Eingang
Eine Dezimalzahl x, die ich testen möchte, ob es sich um eine Geburtstagspalindromie mit 0 <x <2 32 -1 handelt. (Ja, die Menschen in meiner Dimension leben sehr lange.)
Ausgabe
Wahrheit, wenn es genau diese beiden Bedingungen erfüllt, Falsey sonst:
- Die dezimale Darstellung der Zahl ist ein Standardpalindrom
- Die binäre Darstellung der Zahl ist ein Standardpalindrom, und das Hinzufügen von führenden Nullen kann dabei hilfreich sein
Testfälle
1 > 1 => Truthy
6 > 110 (0110) => Truthy
9 > 1001 => Truthy
10 > 1010 (01010) => Falsey, 10 is not palindromic
12 => 1100 (001100) => Falsey, 12 is not palindromic
13 => 1101 (...01101) => Falsey, neither 13 nor 1101 are palindromic
14 => 1110 (01110) => Falsey, 14 is not palindromic
33 > 100001 => Truthy
44 > 101100 (..0101100) => Falsey, 101100 is not palindromic
1342177280 > 1010000000000000000000000000000 (00000000000000000000000000001010000000000000000000000000000) => Falsey, 1342177280 is not palindromic (but the binary representation is)
297515792 > 10001101110111011101100010000 (000010001101110111011101100010000) => Truthy
Regeln
- Standardlücken sind nicht zulässig
- Integrierte Bibliothekskonvertierungen und -tests sind zulässig
- Das ist Code-Golf , der kürzeste Code-Gewinn!
Viel Glück und schließlich alles Gute zum Geburtstag!
0b01010000000000000000000000000000
ist es also nicht palindromisch, da mehr Nullen hinzugefügt werden müssten und somit 2 ^ 32-1 überschritten würden. In diesem Fall wäre es hilfreich, so etwas wie 1342177280
einen Falsey-Testfall hinzuzufügen .
1342177280
ist nicht dezimal palindromisch, also Falsey. Bearbeiten