Ostrzeżenie: NIE jest to wyzwanie „hej, narysujmy ciasto w sztuce ASCII”! Proszę czytaj dalej;)
Jakiś czas temu były moje urodziny, mam teraz 33 lata.
Istnieje więc ta niezręczna tradycja społeczna polegająca na zapraszaniu rodziny i przyjaciół, stawianiu świec numerycznych na torcie, śpiewaniu piosenek i prezentach.
33
--------
Zamiast liczb mogę użyć systemu binarnego do umieszczenia standardowych świec: kładę 6 z nich na torcie i zapalam dwie z nich.
100001
--------
Widzę, że zarówno liczby dziesiętne, jak i binarne w moim wieku są palindromiczne!
Wyzwanie
Chcę wiedzieć, czy jakaś inna liczba może być umieszczona na torcie ze świecami i być palindromiczna, dziesiętna i binarna.
Napisz program / funkcję, aby sprawdzić, czy liczba jest palindromiczna zarówno w postaci dziesiętnej, jak i binarnej. Ale czekaj, jest więcej: w systemie binarnym wiodące zera liczą się do testu!
Wkład
Liczba dziesiętna x, którą chcę przetestować, jeśli jest urodzinowa palindromiczna z 0 <x <2 32 -1 (tak, ludzie w moim wymiarze żyją bardzo długo)
Wydajność
Prawda, jeśli spełnia dokładnie te dwa warunki, Falsey jeszcze:
- Dziesiętna reprezentacja liczby jest standardowym palindromem
- Binarna reprezentacja liczby jest standardowym palindromem, a dodanie zer wiodących może w tym pomóc
Przypadki testowe
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
Zasady
- Standardowe luki są niedozwolone
- Dozwolone są konwersje i testy wbudowanej biblioteki
- To jest code-golf , najkrótsza wygrana kodu!
Powodzenia i ostatecznie wszystkiego najlepszego!
0b01010000000000000000000000000000
nie jest palindromiczne, ponieważ wymagałoby dodania większej liczby zer, a zatem przekraczałoby 2 ^ 32-1? W takim przypadku pomogłoby dodać coś 1342177280
w rodzaju przypadku testowego falsey.
1342177280
nie jest palindromiczny dziesiętny, więc Falsey. Edycja