Um número estritamente não palindrômico N é um número que não é um palíndromo em nenhuma base (nas bases 2 a N-2). Esses números estão listados no OEIS
Por exemplo, o número 19
da base de 2,3,4,5,6, ... 17 é: 10011
, 201
, 103
, 34
, 31
, ... 12
. Nenhuma dessas representações é palindrômica, portanto, o número é estritamente não palindrômico.
Para esse desafio, você precisa retornar um valor verdadeiro se o número não for palindrômico, caso contrário, um valor falso .
- Você pode assumir que o número passado para você é maior ou igual a 0.
- Seu programa deve funcionar com valores até o tamanho inteiro do seu idioma.
Casos de teste:
Verdade:
0
1
2
3
4
6
11
19
47
53
79
103
389
997
1459
Falsy:
5
7
8
9
10
13
16
43
48
61
62
101
113
211
1361
Este é um código de golfe , portanto, faça suas respostas o mais curto possível!
code-golf
base-conversion
decision-problem
palindrome
Nathan Merrill
fonte
fonte
result < n-2
cheque a elas, eu acho.Respostas:
C, 82 bytes
Ideone it!
Explicação
Este código reverte
n
na baseb
e armazena emr
:O loop externo conta o número de bases de
2
para asn-1
quaisn
é um palíndromo.Se
n
não for palindrômico, a contagem seria1
(n
deve ser um palíndromo na basen-1
).fonte
Python 2, 71 bytes
A saída é via código de saída , onde 0 é verdade e 1 é falso. Teste em Ideone .
fonte
SILOS , 206 bytes
Experimente online!
Porto de minha resposta em C .
fonte
Haskell,
7568 bytesfonte
Geléia , 9 bytes
Experimente online! ou verifique todos os casos de teste .
Como funciona
fonte
<3
.Mathematica,
5843 bytesTIL que
#~IntegerReverse~i
reverte os dígitos da entrada quando escrita na base i.fonte
Pyth,
1210 bytesSalva dois bytes com o truque de Dennis.
Experimente online!
Explicação:
fonte
JavaScript (ES6), 83 bytes
fonte
Perl6,
1107265Não foi possível usar a base, pois está quebrada para qualquer base acima de 36.
Tentativas anteriores
fonte
.polymod
com uma lista infinita de divisores.1362.polymod: 226 xx *
{...}
e-> $_ {...}
são quase exatamente iguais. Além disso, você não precisa armazenar o lambda em nenhum lugar para remover omy &f =
.Braquilog , 14 bytes
Experimente online!
Saídas por meio de predicado de sucesso ou falha, que são impressas
true.
oufalse.
se executadas como um programa.fonte
C, 77 bytes
exercício recursivo ... eu mudo (b + 2> = n) com (b + 3> n) sem depuração ...
fonte
C, 129 bytes
fonte
PHP, 68 bytes
recebe entrada de STDIN, sai com
1
para falsidade,0
para verdade. Corra com-R
.fonte
APL (NARS), caracteres 47, bytes 94
onde
{(⍺⍴⍨⌊1+⍺⍟⍵)⊤⍵}
seria a conversão da função um ômega positivo em dígitos número base alfa e{⍵≡⌽⍵}
seria o palíndromo de verificação da função ... test:fonte