Métodos de obtener 1 número a partir de otro.

Responder
Avatar de Usuario
Tachikomaia
Mensajes: 15916
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

Métodos de obtener 1 número a partir de otro.

Mensaje por Tachikomaia »

Me pierdooo
Imagen
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é...
En eso me di cuenta de que puedo establecer condiciones, como "sumar los caracteres sólo si son números".

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?
Imagen
Avatar de Usuario
Tachikomaia
Mensajes: 15916
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

Re: Métodos de obtener 1 número a partir de otro.

Mensaje por Tachikomaia »

Creo que se podría clasificar los métodos de algún modo simple, que no de lugar a ambiguedades o dudas sobre en qué grupo ponerlo, por ejemplo:
A: No mira caracteres individualmente, mira al número como tal.
B: Mira sólo 1 caracter.
C: Mira más de 1 caracter.
D: Considera grupos (varios caracteres seguidos).
¿Qué más se les ocurre?
Imagen
Avatar de Usuario
Tachikomaia
Mensajes: 15916
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

Re: Métodos de obtener 1 número a partir de otro.

Mensaje por Tachikomaia »

No sirve, lo intuí pero no quise creerlo. Es subjetivo, o no lo veo claro, por ejemplo quitar los decimales implica mirar ciertos dígitos en particular. Se podría decir que cualquier método lo hace, todos implican mirar los dígitos.

Respuesta de GPT:
Existen múltiples formas de obtener un número a partir de otro número aplicando diversos métodos. Estos métodos pueden clasificarse según el tipo de transformación o modificación que se realice sobre el número original. A continuación, se presentan algunas de las categorías más comunes de estos métodos:

## 1. **Transformaciones de inversión**

### a. **Inversión de dígitos**
- **Descripción**: El número se invierte ordenando los dígitos en el sentido contrario.
- **Ejemplo**: Si tenemos el número `123`, su inversión sería `321`.
- **Fórmula**: Si el número es \( n = a_1a_2a_3...a_k \) (dígitos), su inversión es \( n' = a_ka_{k-1}...a_1 \).

---

### b. **Inversión de base**
- **Descripción**: El número en una base numérica se convierte a su inverso modular en esa base.
- **Ejemplo**: En base 10, el inverso modular de un número \( x \) es el número \( y \) tal que \( x \times y \equiv 1 \ (\text{mod}\ 10) \).

---

## 2. **Transformaciones aritméticas**

### a. **Suma de dígitos**
- **Descripción**: Se suman los dígitos del número.
- **Ejemplo**: Para el número `123`, la suma de dígitos sería \( 1 + 2 + 3 = 6 \).

---

### b. **Producto de dígitos**
- **Descripción**: Se multiplican los dígitos del número.
- **Ejemplo**: Para el número `123`, el producto de los dígitos sería \( 1 \times 2 \times 3 = 6 \).

---

### c. **Número espejo**
- **Descripción**: Se suma el número con su inverso.
- **Ejemplo**: Para el número `123`, su inverso es `321`, entonces \( 123 + 321 = 444 \).

---

### d. **Elevación de dígitos**
- **Descripción**: Cada dígito se eleva a una potencia específica, como por ejemplo 2 o 3.
- **Ejemplo**: Para el número `123` y elevación al cuadrado, tendríamos \( 1^2 + 2^2 + 3^2 = 1 + 4 + 9 = 14 \).

---

### e. **Números factoriales**
- **Descripción**: Se calcula el factorial de cada dígito y se suman.
- **Ejemplo**: Para el número `123`, sería \( 1! + 2! + 3! = 1 + 2 + 6 = 9 \).

---

## 3. **Transformaciones geométricas**

### a. **Reflejo o rotación (en relojes o círculos)**
- **Descripción**: Se refleja o rota el número dentro de un sistema geométrico, como un círculo o una esfera.
- **Ejemplo**: Si el número es `12` en un reloj de 12 horas, su reflejo puede ser `6`.

---

## 4. **Transformaciones basadas en sistemas de numeración**

### a. **Cambio de base numérica**
- **Descripción**: Se convierte el número de una base a otra.
- **Ejemplo**: El número `123` en base 10 es `1111011` en base 2.

---

### b. **Representación en otra base**
- **Descripción**: Se considera el número en una representación diferente, como base binaria, octal, hexadecimal, etc.
- **Ejemplo**: `123` en hexadecimal es `7B`.

---

## 5. **Transformaciones lógicas o bit a bit**

### a. **Complemento a 1 o complemento a 2**
- **Descripción**: En el contexto binario, se calcula el complemento de los bits.
- **Ejemplo**: El complemento a 1 de `123` (en binario `01111011`) sería `10000100`.

---

### b. **Desplazamiento de bits**
- **Descripción**: Se desplazan los bits a la izquierda o derecha.
- **Ejemplo**: Desplazar `123` (en binario `01111011`) una posición a la izquierda da como resultado `11110110` (equivalente a 246).

---

## 6. **Transformaciones algebraicas**

### a. **Raíces y potencias**
- **Descripción**: Se aplica una raíz cuadrada, cúbica, o se eleva el número a una potencia.
- **Ejemplo**: El número `16` tiene como raíz cuadrada `4`, y si elevamos `2` al cubo obtenemos `8`.

---

### b. **Logaritmo**
- **Descripción**: Se calcula el logaritmo de un número en una base dada.
- **Ejemplo**: El logaritmo en base 10 de `1000` es `3`.

---

## 7. **Transformaciones combinatorias**

### a. **Permutación de dígitos**
- **Descripción**: Se permutan los dígitos del número de distintas formas.
- **Ejemplo**: Para el número `123`, una permutación sería `231`.

---

### b. **Combinación de dígitos**
- **Descripción**: Se toman combinaciones de los dígitos del número.
- **Ejemplo**: De los dígitos de `123`, puedes combinar `1` y `2` para formar `12`.

---

Esta clasificación cubre una variedad de métodos para obtener un número a partir de otro. Dependiendo del contexto en el que se apliquen, algunos de estos métodos pueden tener aplicaciones específicas en áreas como la criptografía, la teoría de números, o la informática.
La 1a es la que le di de ejemplo, no creo que sea un tipo de método, debe haber algo más general.
Se reordenan los caracteres, nada se pierde ni se crea.

La 1b no la entendí.

La 2 es operar sus caracteres de algún modo. Se pierden para crear algo.

La 3 lo considero de tipo arbitrario. Edit: Ver la 5.

La 4... es similar a la 2, aunque no se operan los caracteres sino el número en sí.

La 5 parece de tipo arbitrario, tiene que ver con usar 2 dígitos ¿por qué pasaría a usar 2 y no 3 o 4? Si de algún modo el mismo número marcara cuántos han de usarse, estaría bien, pero eso implica mirar un caracter en particular.

6: Arbitrario a menos que el número marque por cuánto ha de potenciarse o lo que sea, igual que el 5.

7: Como la 1.


Se me acaba de ocurrir esta:
A: No cambian los caracteres, sólo cambian de lugar.
B: Se pierden algunos y se generan otros.
C: Se pierden algunos.
D: Se generan algunos.
Lo pensaré.
Imagen
Avatar de Usuario
Tachikomaia
Mensajes: 15916
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

Re: Métodos de obtener 1 número a partir de otro.

Mensaje por Tachikomaia »

Imagen
Responder