Supongamos que tenemos la serie A:
0, 98765, 123
Y la serie B:
1, 99999, 360
La serie B tiene un capicúa en 2ndo lugar, la A no tiene, por lo tanto la condición de tener un capicúa la cumple B más rápido.
Eso es un ejemplo, no demuestra que B sea mejor. Quiero hacer un programa que genere alguna de las series más acordes a esto pero no he concluído cómo son especificamente. En principio no pretendo que tenga decimales ni negativos ni que sea infinita. Se establece un número mínimo y otro máximo. En general, es conveniente que al inicio tengan el mínimo y máximo o 2 números parecidos a ellos. En cuanto a lo demás es que no concluyo. He estado pensando en que tengan caracteres lo más distintos posible, pero eso hace que los capicúa estén al final. Además hay varias cosas que pueden tenerse en cuenta, no sé si todas importan:
- Ser divisible entre más números, el siguiente debe ser preferentemente divisible entre otros.
- Diferencia entre sus contiguos (por ejemplo en 989 las diferencias son 9-8=1 y 8-9=-1, entonces el siguiente debe tener preferentemente diferencias lo más distintas a esas).
- Repeticiones de caracteres (por ejemplo si un número es 98765, preferentemente el siguiente debe tener todos los caracteres iguales).
- Cuan capicúa es (lo normal es considerarlo capicúa o no, pero no es lo mismo tener 2/2 caracteres capicúa que 9/9, y además la condición puede ser "ser 50% capicúa" por ejemplo).
Es claro que algunas cosas contradicen otras, deben establecerse prioridades o asignar puntajes a los números según cuantas condiciones cumplan, no sé.
¿Cómo debería ser la serie y/o el programa?
Entiendo que debe empezar por algo como:
- Definir el mínimo (no es que sea el 1ero de la serie).
- Definir el máximo (idem).
- Hallar, en ese rango, el número más divisible. Por ejemplo de 1 a 15 sería el 12. Supongo que este conviene que sea el 1er número. Generalmente será más cercano al máximo que al mínimo.
- El 2ndo número, bien podría ser el mínimo, si sólo tiene 1 caracter, sino uno cercano a él pero habría que considerar las otras cosas.
También hay que considerar condiciones como "dar resto 1 al ser dividido entre...", lo normal es buscar que den resto 0 pero esto puede ser también.