Dado un número entero no negativo, devuelve si es un número de tres dígitos que termina en uno, en cualquier base entera consistente. En otras palabras, el número debe representarse en base-N, siendo N un número entero mayor que cero.
Reglas
- Este es el código de golf , por lo que gana la respuesta más corta.
- Como el comportamiento unario es extraño, el comportamiento con la entrada 3 10 no está definido.
- Las lagunas estándar están prohibidas.
Ejemplos
Cierto:
5
73
101
1073
17
22
36
55
99
Falso:
8
18
23
27
98
90
88
72
68
Un puñado de grandes números:
46656 true
46657 true
46658 true
46659 true
46660 true
46661 false
46662 false
46663 true
46664 false
46665 true
46666 true
46667 false
46668 false
46669 false
46670 true
46671 true
n
es sólon
1
es, por ejemplo0 = ()₁
,3 = (111)₁
,10 = (1111111111)₁
, etc.Respuestas:
Jalea , 7 bytes
Devuelve el número de bases (que no es cero es verdadero, cero es falso) en las que la entrada es un número de tres dígitos que termina en uno.
Pruébalo en línea!
Cómo funciona
fuente
JavaScript (ES7),
434039 bytesCasos de prueba
Mostrar fragmento de código
Comentado
fuente
Python 3 ,
5047 bytes-2 bytes gracias a @LeakyNun
-1 byte gracias a @Dennis
Pruébalo en línea!
fuente
Haskell ,
4140 bytes¡Gracias a @Zgarb por jugar golf en 1 byte!
Pruébalo en línea!
fuente
Brachylog , 10 bytes
Pruébalo en línea!
fuente
05AB1E ,
118 bytesGuardado 3 bytes gracias a Adnan .
Pruébalo en línea!
Explicación
fuente
Jalea , 12 bytes
Pruébalo en línea!
fuente
Mathematica, 43 bytes
Pruébalo en línea!
o Pruébelo en línea! (números grandes)
Martin Ender ahorró 3 bytes
fuente
!FreeQ[#~IntegerDigits~Range@#,{_,_,1}]&
es un poco más corto si no te importa ver laIntegerDigits::ibase: Base 1 is not an integer greater than 1.
advertencia. (Todavía devuelve las respuestas correctas.)Wolfram Language (Mathematica) , 35 bytes
Pruébalo en línea!
Verifica explícitamente si n% i = 1 e i 2 <n <i 3 para cualquier posible base i . Para propósitos de golf, la desigualdad se reorganiza a 1 <n / i 2 <i , para que pueda encadenarse a la igualdad.
fuente
Limpio ,
5856 bytes-2 gracias a Dennis
Pruébalo en línea!
fuente
Casco , 10 bytes
Pruébalo en línea! Muy cerca de la respuesta Jelly de Dennis .
fuente
APL (Dyalog Unicode) , SBCS
212014 bytes-5 gracias a @ngn.
Solución puramente aritmética (en realidad no hace ninguna conversión de base) y, por lo tanto, muy rápida.
Pruébalo en línea!
⊢(
...)⍨1↓⍳
en uno de los argumentos ɩ ndices 1 ... y el argumento, aplique:|
los restos de la división×∘⌈
veces el redondeado⍟
Argumento log N3∊
es tres un miembro de eso?fuente
⊢(∨/(3=∘⌈⍟)∧1=|)⍨1↓⍳
(⊂1 3)∊⊢(⌈|,¨⍟)⍨1↓⍳
3∊⊢(|×|×∘⌈⍟)⍨1↓⍳
1=⌈a⍟b
,a≤b
→a=b
→0=a|b
∵0=b|b
Pyth , 10 bytes
Verifique todos los casos de prueba.
fuente
Casco , 15 bytes
Pruébalo en línea!
Explicación
fuente
PHP, 48 + 1 bytes
sale con
0
por falsedad (o entrada3
),1
por verdad.Ejecutar como tubería con
-nR
o probarlo en línea .fuente
C, 60 bytes
Una función que devuelve un valor distinto de cero si el argumento puede representarse como un número de tres dígitos que termina en 1:
Nota: esto funciona con GCC, donde las funciones están integradas. Para otros compiladores, probablemente deba asegurarse de que se conocen los argumentos y los tipos de retorno:
Explicación
La base más baja en la que
n
se representa en 3 dígitos es⌊∛n⌋
, y la base más baja en la quen
se representa en 2 dígitos es⌊√n⌋
, por lo que simplemente probamos si el número es congruente con 1 módulo de cualquier base en el rango de 3 dígitos. Devolvemos el recuento del número de bases que satisfacen la condición, dando un valor distinto de cero (verdadero) o cero (falso) según corresponda.Programa de prueba
Pase cualquier cantidad de entradas como parámetros posicionales:
fuente
APL (Dyalog Unicode) , SBCS de 19 bytes
El método de Dennis .
Pruébalo en línea!
(⊂,1)∊
Es[1]
miembro de2↓¨
dos elementos caídos de cada uno de⊢⊥⍣¯1¨⍨
el argumento representado en cada una de las bases1↓⍳
uno dado de baja del Ɩ ndices 1 a través del argumento?fuente
Julia , 31 bytes
Pruébalo en línea!
fuente
Pyt ,
3533 bytesExplicación:
Pruébalo en línea!
fuente
> <> , 42 bytes
Pruébalo en línea!
Vuelve
10
por la verdad,00
por falsey.fuente