0votos
Factorizar el factorial en F#
por

Miguel Zabala

hace 20 días

La solución más eficiente que se me ocurre para factorizar el factorial de un número "n" como producto de números primos es tomar todos los números primos menores e iguales a "n" y determinar el exponente aplicando logaritmos.

0votos
LAP (Lista Anterior Posterior) en F#
por

Miguel Zabala

hace 1 mes

La complejidad para aplicar el algoritmo crece exponencialmente, por lo que puede ser muy pesado darle números muy altos a la función LAP. 1. [1] (2⁰ elementos). 2. [0,2] (2¹ elementos). 3. [-1,1,1,3] (2² elementos). 4. [-2,0,0,2,0,2,2,4] (2³ elementos).

0votos
Maria en F#
por

Miguel Zabala

hace 1 mes

Es suficiente dividir un número n entre los números entre 1 y √n. Por ejemplo, para hallar los divisores de 10 primero determinamos los números naturales menores a la raíz cuadrada de 10, los cuales son 1, 2 y 3; luego, procedemos a hacer lo siguiente: 1. Como 10 mod 1 = 0 almacenamos 1 y 10/1. Lista: [1;10] 2. Como 10 mod 2 = 0 almacenamos 2 y 10/2. Lista: [1;2;5;10] 3. Como 10 mod 3 ≠ 0 no almacenamos nada. Así, en pocos procesos habremos determinado que los divisores de 10 son [1;2;5;10].

0votos
Clave cesar (variante) JAVA en F#
por

Miguel Zabala

hace 1 mes

Como 'I' y 'J' ocupan la misma posición, los reemplacé por el carácter 'IJ', el cual se lee sin problemas en el F# interactivo de VS2017, pero lo sustituía por el carácter '?' en la consola de windows. Por otro lado, para evitar errores: 1. Si se quiere cifrar una palabra que contiene caracteres desconocidos ('á', 'ñ', etc.), a cada una de estas les corresponderá el valor de -1. 2. Si se quiere descifrar un código, a cada número que no le corresponda una letra se sustituirá por el carácter '