Diferencia entre revisiones de «Ejercicios 3: Aritmética»
De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)
(→Ejercicio 1.6.) |
(→Ejercicio 5.2.) |
||
(No se muestran 10 ediciones intermedias de 4 usuarios) | |||
Línea 32: | Línea 32: | ||
'''Solución''' | '''Solución''' | ||
+ | gcd(a,b); | ||
=== Ejercicio 1.6. === | === Ejercicio 1.6. === | ||
Línea 45: | Línea 46: | ||
'''Solución''' | '''Solución''' | ||
+ | n: 2008!; | ||
=== Ejercicio 2.2. === | === Ejercicio 2.2. === | ||
Línea 50: | Línea 52: | ||
'''Solución''' | '''Solución''' | ||
+ | (%i2)bfloat(n); | ||
+ | (%o2) 8.64364185767107b5761 | ||
+ | |||
+ | Por tanto tiene 5762 cifras | ||
=== Ejercicio 2.3. === | === Ejercicio 2.3. === | ||
Línea 55: | Línea 61: | ||
'''Solución''' | '''Solución''' | ||
+ | ifactors(n); | ||
=== Ejercicio 2.4. === | === Ejercicio 2.4. === | ||
Línea 60: | Línea 67: | ||
'''Solución''' | '''Solución''' | ||
+ | |||
+ | Puesto que al descomponer en factores primos el exponente de 2 es 2001 y el de 5 es 500, n tendrá 500 ceros. | ||
== Ejercicio 3 == | == Ejercicio 3 == | ||
Línea 67: | Línea 76: | ||
'''Solución''' | '''Solución''' | ||
+ | (%i1)sol3:2$ | ||
+ | (%i2)for k from 2 thru 2008 do (sol3:next_prime(sol3))$ | ||
+ | (%i3)sol3; | ||
+ | |||
+ | Y devuelve 17467 | ||
== Ejercicio 4 == | == Ejercicio 4 == | ||
Línea 74: | Línea 88: | ||
'''Solución''' | '''Solución''' | ||
+ | for i from 1 step 1 thru 100000 do (print(i,”=”,factor(i))); | ||
+ | |||
+ | |||
+ | '''Solución 2''' | ||
+ | (%i6) sol4:0$ | ||
+ | (%i7) for i from 1 step 1 thru 100000 do | ||
+ | (if primep(i) then | ||
+ | sol4:sol4+1); | ||
+ | (%o7) done | ||
+ | (%i8) sol4; | ||
+ | (%o8) 9592 | ||
== Ejercicio 5 == | == Ejercicio 5 == | ||
Línea 81: | Línea 106: | ||
'''Solución''' | '''Solución''' | ||
+ | (%i1)sol5:2$ | ||
+ | for k from 2 thru 9592 do (sol5:next_prime(sol5))$ | ||
+ | sol5; | ||
+ | |||
+ | Y devuelve 99991 | ||
=== Ejercicio 5.2. === | === Ejercicio 5.2. === | ||
Línea 86: | Línea 116: | ||
'''Solución''' | '''Solución''' | ||
+ | prev_prime(100000); | ||
+ | |||
+ | |||
+ | '''Solución 2''' | ||
+ | (%i14) is(sol5=prev_prime(100000)); | ||
+ | (%o14) true |
Revisión actual del 10:21 30 abr 2011
Ejercicio 1
Ejercicio 1.1.
Asignarle a la variable a el valor 2460 y a la b el 3030.
Solución a:2460$ b: 3030$
Ejercicio 1.2.
Calcular el conjunto D1 de los divisores positivos de a.
Solución divisors(a);
Ejercicio 1.3.
Calcular el conjunto D2 de los divisores positivos de b.
Solución divisors(b);
Ejercicio 1.4.
Calcular, usando la función intersection, el conjunto D de los divisores comunes de a y b.
Solución S_1: divisors(a); S_2:divisors(b); intersection(S_1,S_2);
Ejercicio 1.5.
Calcular el máximo común divisor de a y b.
Solución
gcd(a,b);
Ejercicio 1.6.
Calcular el mínimo común múltiplo de a y b.
Solución lcm(a,b);
Ejercicio 2
Ejercicio 2.1.
Asignarle a la variable n el valor 2008!
Solución n: 2008!;
Ejercicio 2.2.
¿Cuántas cifras tiene n en base 10?
Solución
(%i2)bfloat(n); (%o2) 8.64364185767107b5761
Por tanto tiene 5762 cifras
Ejercicio 2.3.
Calcular la descomposición de n en productos de factores primos.
Solución ifactors(n);
Ejercicio 2.4.
¿Con cuántos ceros termina n?
Solución
Puesto que al descomponer en factores primos el exponente de 2 es 2001 y el de 5 es 500, n tendrá 500 ceros.
Ejercicio 3
Ejercicio 3.1.
Escribir un programa para asignarle a la variable sol3 el término que ocupa la posición 2008 en la sucesión de números primos ordenados de manera creciente.
Solución
(%i1)sol3:2$ (%i2)for k from 2 thru 2008 do (sol3:next_prime(sol3))$ (%i3)sol3;
Y devuelve 17467
Ejercicio 4
Ejercicio 4.1
Escribir un programa para asignarle a la variable sol4 el número de primos inferiores a 100000.
Solución for i from 1 step 1 thru 100000 do (print(i,”=”,factor(i)));
Solución 2
(%i6) sol4:0$ (%i7) for i from 1 step 1 thru 100000 do (if primep(i) then sol4:sol4+1); (%o7) done (%i8) sol4; (%o8) 9592
Ejercicio 5
Ejercicio 5.1.
Escribir un programa para asignarle a la variable sol5 el término que ocupa la posición 9592 en la sucesión de números primos ordenados de manera creciente.
Solución
(%i1)sol5:2$ for k from 2 thru 9592 do (sol5:next_prime(sol5))$ sol5;
Y devuelve 99991
Ejercicio 5.2.
Comprobar si sol5 es el mayor primo menor que 100000.
Solución prev_prime(100000);
Solución 2
(%i14) is(sol5=prev_prime(100000)); (%o14) true