Una secuencia aritmético-geométrica es el producto por elementos de una secuencia aritmética y una secuencia geométrica. Por ejemplo, 1 -4 12 -32
es el producto de la secuencia aritmética 1 2 3 4
y la secuencia geométrica 1 -2 4 -8
. El enésimo término de una secuencia aritmético-geométrica entera se puede expresar como
por algún número real , distinto de cero real de , y número entero . Tenga en cuenta que y no son necesariamente números enteros.
Por ejemplo, la secuencia 2 11 36 100 256 624 1472 3392
tiene , , y .
Entrada
Una lista ordenada de enteros como entrada en cualquier formato razonable. Dado que algunas definiciones de secuencia geométrica permiten y definen , si una entrada es una secuencia aritmético-geométrica no dependerá de si se permite que sea 0. Por ejemplo, 123 0 0 0 0
no ocurrirá como entrada.
Salida
Si se trata de una secuencia aritmético-geométrica. Salida de un valor de verdad / falsedad, o dos valores consistentes diferentes.
Casos de prueba
Cierto:
1 -4 12 -32
0 0 0
-192 0 432 -1296 2916 -5832 10935 -19683
2 11 36 100 256 624 1472 3392
-4374 729 972 567 270 117 48 19
24601 1337 42
0 -2718
-1 -1 0 4 16
2 4 8 16 32 64
2 3 4 5 6 7
0 2 8 24
Falso:
4 8 15 16 23 42
3 1 4 1
24601 42 1337
0 0 0 1
0 0 1 0 0
1 -1 0 4 16
fuente
\$
1 -1 0 4 16
sería un caso falso útil, ya que comparte cuatro elementos consecutivos con cada uno de los casos verdaderos1 -1 0 4 -16
y-1 -1 0 4 16
.Respuestas:
Perl 6 ,
184128135 bytesPruébalo en línea!
Algunas mejoras están inspiradas en la respuesta JavaScript de Arnauld.
Explicación
fuente
Javascript (ES7),
135127 bytesPruébalo en línea!
¿Cómo?
Caso especial n. ° 1: menos de 3 términos
Si hay menos de 3 términos, siempre es posible encontrar una secuencia coincidente. Entonces forzamos un valor de verdad.
Caso especial # 2: solo ceros
Lo que da:
En particular tenemos:
Lleva a la siguiente cuadrática:
Cuyas raíces son:
fuente
Wolfram Language (Mathematica) , 55 bytes
Pruébalo en línea!
Solve
devuelva todos los formularios de solución. El resultado se compara con{}
para verificar si hay alguna solución.fuente