경고 : 이것은 "이봐, 아스키 아트로 케이크를 그려 보자"도전이 아닙니다! 계속 읽으십시오;)
얼마 전 내 생일이었고 지금 33 살입니다.
그래서이 어색한 사회적 전통은 가족과 친구들을 초대하고 케이크에 숫자 같은 양초를 넣고 노래를 부르고 선물을 열어주는 것으로 구성되어 있습니다.
33
--------
숫자 대신 이진법을 사용하여 표준 양초를 넣을 수 있습니다. 나는 그 중 6 개를 케이크 위에 놓고 두 개를 밝게 비 춥니 다.
100001
--------
나는 내 나이의 십진수와 이진수가 회 문식 임을 알 수 있습니다 !
도전
나는 다른 숫자가 촛불로 케이크에 놓여지고 회문, 십진 및 이진인지 알고 싶습니다.
숫자가 십진법과 이진법 모두 에서 회 문형인지 테스트 할 프로그램 / 함수를 작성하십시오 . 그러나 잠깐, 더 많은 것이 있습니다 : 이진수로 앞에 0이 테스트에 포함됩니다!
입력
진수 번호 X가 생일 인 경우에 나는 테스트 할 것을 상동와 0 <X <2 32 -1 (예, 라이브 매우 긴 내 차원에서 명)
산출
Falsey는 다음 두 가지 조건을 모두 충족한다면 진실 입니다.
- 숫자의 십진수 표현은 표준 회문
- 숫자의 이진 표현은 표준 회문이며 앞에 0을 추가하면 도움이 될 수 있습니다.
테스트 사례
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
규칙
- 표준 허점은 허용되지 않습니다
- 내장 라이브러리 변환 및 테스트가 허용됩니다
- 이것은 가장 짧은 코드 승리 인 code-golf입니다 !
행운을 빈다.
0b01010000000000000000000000000000
더 많은 0을 추가해야하므로 2 ^ 32-1을 초과하므로 회문식이 아닌가? 이 경우 1342177280
허위 테스트 사례 와 같은 것을 추가하는 것이 도움이됩니다 .
1342177280
십진 회문이 아니므로 Falsey입니다. 편집