Diferencia entre revisiones de «Ejercicios del proyecto Euler 2010»
De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)
| Línea 10: | Línea 10: | ||
| * [[Ejercicio 10: Encuentra la suma de todos los primos menores que 2000000]]. | * [[Ejercicio 10: Encuentra la suma de todos los primos menores que 2000000]]. | ||
| * [[Ejercicio 48: Encuentra los últimos 10 dígitos de la serie, 1^1 + 2^2 + 3^3 + ... + 1000^1000]]. | * [[Ejercicio 48: Encuentra los últimos 10 dígitos de la serie, 1^1 + 2^2 + 3^3 + ... + 1000^1000]]. | ||
| − | * Ejercicio 29: ¿Cuántos términos distintos hay en la secuencia generada por a^b cuando 2<=a,b<=100?. | + | * [[Ejercicio 29: ¿Cuántos términos distintos hay en la secuencia generada por a^b cuando 2<=a,b<=100?]]. | 
| + | |||
| + | |||
| + |    Solución: | ||
| + |   (%i1)terminos(n):= block([lista], | ||
| + | lista:[], | ||
| + | (for a from 2 thru n do  | ||
| + |   (for b from 2 thru n do  | ||
| + |                         (if (member(a^b,lista)) | ||
| + | then (lista) | ||
| + | else (lista: cons(a^b, lista))))) | ||
| + |  (length (lista)))$ | ||
Revisión del 23:01 5 may 2010
En esta sección se encuentran ejercicios del proyecto Euler realizados con los sistemas de software libre.
- Ejercicio 1: Sumar los enteros menores de 1000 que sean múltiplos de 3 ó 5.
- Ejercicio 2: Sumar los términos pares de la sucesión de Fibonacci que no superen los 4000000.
- Ejercicio 3: Calcular el mayor factor primo de un número compuesto.
- Ejercicio 4: Calcular el mayor palíndromo producto de números de 3 cifras.
- Ejercicio 5: Buscar el número primo que ocupa la posición 10001 en la secuencia de números primos.
- Ejercicio 6: Diferencia entre el cuadrado de la suma de los primeros cien números y la suma de los cuadrados.
- Ejercicio 7: Encontrar el mcm de los numeros del 1 al 20.
- Ejercicio 8: Hallar el primer número que es divisble por todos los números desde el 1 al 20.
- Ejercicio 10: Encuentra la suma de todos los primos menores que 2000000.
- Ejercicio 48: Encuentra los últimos 10 dígitos de la serie, 1^1 + 2^2 + 3^3 + ... + 1000^1000.
- [[Ejercicio 29: ¿Cuántos términos distintos hay en la secuencia generada por a^b cuando 2<=a,b<=100?]].
Solución: (%i1)terminos(n):= block([lista],
lista:[], (for a from 2 thru n do
 (for b from 2 thru n do 
                       (if (member(a^b,lista))
then (lista) else (lista: cons(a^b, lista)))))
(length (lista)))$
