En eso me di cuenta de que puedo establecer condiciones, como "sumar los caracteres sólo si son números".Si por ejemplo tengo el número 12345 y un método es "tomar los caracteres divisibles y luego tomar el menor de ellos", es un método de 2 pasos, que en el 1er paso puede resultar más de 1 número.
Yo quiero métodos que cumplan estas condiciones:
- De 1 solo paso.
- Que no puedan resultar más de 1 número.
- No importa si a veces resultan 0 números, mientras en algunos casos resulten 1.
- Que no impliquen azar.
- Que no impliquen valores arbitrarios (más adelante lo explico).
Se me ocurren:
- Elegir el 1er caracter del número (falla si es un signo).
- Elegir el último caracter.
- Elegir el caracter central (puede no haber, ergo fallar).
- Elegir el menor.
- Elegir el mayor.
- Invertir el número (falla si tiene signo).
- Quitarle los decimales.
- Redondearlo.
- Redondearlo hacia arriba.
- Sumar los caracteres.
- Multiplicar los caracteres.
- Potenciar los caracteres.
- Potenciar los caracteres desde la derecha.
- Quitarle el signo negativo.
- Ponerle signo negativo.
- Obtener el largo del número.
- Obtener la cantidad de caracteres únicos.
- Obtener el % de caracteres únicos.
- Obtener la cantidad de caracteres repetidos.
- Obtener el % de caracteres repetidos.
- Obtener la cantidad de caracteres ordenados.
- Obtener el % de caracteres ordenados.
- Obtener la cantidad de caracteres desordenados.
- Obtener el % de caracteres desordenados.
- Obtener la cantidad de caracteres simétricos.
- Obtener el % de caracteres simétricos.
- Obtener la cantidad de caracteres asimétricos.
- Obtener el % de caracteres asimétricos.
- Obtener la cantidad de caracteres que coinciden con su posición.
- Obtener la cantidad de caracteres que no coinciden con su posición.
- Obtener la cantidad de buenos divisores del número.
- Obtener la cantidad de malos divisores del número.
- Obtener la cantidad de buenos "radicales" del número.
- Obtener la cantidad de malos "radicales" del número.
- Obtener la cantidad de caracteres que son buenos divisores del número.
- Obtener la cantidad de caracteres que son malos divisores del número.
- Obtener la cantidad de caracteres que son buenos "radicales" del número.
- Obtener la cantidad de caracteres que son malos "radicales" del número.
Veo que ni siquiera entiendo lo que es "en 1 paso". Por ejemplo:
- Obtener la mínima cantidad de veces que se repite un caracter presente en el número.
Hay 2 formas de verlo:
A: Cuento las veces que se repite cada caracter, luego elijo la menor cantidad. 2 pasos.
B: Obtengo cada caracter, luego cuento las veces que se repite cada uno, luego elijo la menor cantidad. 3 pasos.
Parece lo mismo, no es necesario elegir unos caracteres X, por lo tanto no hay que obtenerlos, porque ya están bien, pero como en programación hay que captarlos, puede que deba considerarse un paso extra, no sé...
Mi duda es... cómo expresar mi duda, em... Cómo avanzar a paso firme en esto, no estar dando tantas vueltas, no parece tan difícil: Decir los métodos conque se puede obtener 1 número a partir de otro; traté de limitarme a métodos de 1 paso e igual hay muchos o tantos que me pierdo, no sé ¿evito, por ahora, que los caracteres a tomar (por ejemplo cuando se toma el de la 1er posición) deban cumplir alguna condición? Pero estar en 1er lugar es 1. ¿Evito que se mencionen más de 2 condiciones? Es confuso cuántas hay. ¿No doy bola a las cantidades esas? Sería difícil avanzar lógicamente, la lista quedaría ordenada de un modo más random del que ya está...
En cuanto a lo que decía antes, tomar el 1er caracter es uno de los métodos más sencillos, y si bien contar los caracteres repetidos no suena complicado, eso implica mirar más de uno, tomar (por un tiempo) más de 1, así que no parece "1 paso".
El tema de la no arbitrariedad es que por ejemplo no me interesa "tomar el 2ndo caracter", ni el 3ero, etc, porque 2 y 3 me parecen números randoms; el 1ero y el último me parecen más especiales, y el intermedio. No hay mucha más justificación que esa.
Ya estaba haciendo una lista de propiedades de números, cosas que pudieran ser usadas como condición para "1er caracter que (condición..." pero si mal no recuerdo, por ejemplo, en la lista puse que fuera positivo, pero es obvio que el caracter lo será (a menos que sea un "-" o "."), y bueno, me pareció que debía pensar sólo propiedades de caracteres de largo 1, pero en vez de caracteres se pueden obtener grupos de caracteres así que volví al inicio y como ven sigo dando vueltas, es como un laberinto.
¿Sugerencias?