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 11: | Línea 11: | ||
* [[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)))$ | ||
+ | (%01)done(9183) |
Revisión del 00:06 6 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)))$ (%01)done(9183)