Attention: ce n'est PAS un défi "hé, dessinons un gâteau en art ASCII"! Continuez à lire;)
Il y a quelque temps, c'était mon anniversaire, j'ai 33 ans maintenant.
Il y a donc cette tradition sociale maladroite consistant à inviter la famille et les amis, à mettre des bougies numériques sur un gâteau, à chanter des chansons et à ouvrir des cadeaux.
33
--------
Au lieu de chiffres, je peux utiliser le système binaire pour mettre des bougies standard: j'en place 6 sur le gâteau et j'en allume deux.
100001
--------
Je peux voir que les nombres décimaux et binaires de mon âge sont palindromiques!
Défi
Je veux savoir si un autre nombre peut être mis sur un gâteau avec des bougies et être palindromique, décimal et binaire.
Écrivez un programme / une fonction pour tester si un nombre est palindromique à la fois décimal et binaire. Mais attendez, il y a plus: en binaire, les zéros de tête comptent pour le test!
Contribution
Un nombre décimal x que je veux tester s'il est palindromique d'anniversaire avec 0 <x <2 32 -1 (oui, les gens dans ma dimension vivent très longtemps)
Sortie
Vrai s'il remplit exactement ces deux conditions, Falsey d'autre:
- La représentation décimale du nombre est un palindrome standard
- La représentation binaire du nombre est un palindrome standard, et l'ajout de zéros à gauche peut aider à cela
Cas de test
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
Règles
- Les failles standard sont interdites
- Les conversions et tests de bibliothèque intégrés sont autorisés
- C'est le code-golf , le gain de code le plus court!
Bonne chance et finalement joyeux anniversaire!
0b01010000000000000000000000000000
n'est-il pas palindromique car il faudrait ajouter plus de zéros et donc dépasser 2 ^ 32-1? Dans ce cas, il serait utile d'ajouter quelque chose comme 1342177280
un cas de test falsey.
1342177280
n'est pas palindromique décimal donc Falsey. Montage