Tema CS3. Aritmética
(Soluciones de ejercicios propuestos)

1 Ejercicio 1

Ejercicio 1.1. Asignarle a la variable a el valor 2460 y a la b el 3030.

(%i41) a:2460$ b:3030$

Ejercicio 1.2. Calcular el conjunto D1 de los divisores positivos de a.

(%i43) D1:divisors(a);
Result

Ejercicio 1.3. Calcular el conjunto D2 de los divisores positivos de b.

(%i44) D2:divisors(b);
Result

Ejercicio 1.4. Calcular, usando la función intersection, el conjunto D de
los divisores comunes de a y b.

(%i45) D:intersection(D1,D2);
Result

Ejercicio 1.5. Calcular el máximo común divisor de a y b.

(%i46) gcd(a,b);
Result

Ejercicio 1.6. Calcular el mínimo común múltiplo de a y b.

(%i47) lcm(a,b);
Result

2 Ejercicio 2

Ejercicio 2.1. Asignarle a la variable n el valor 2008!

(%i48) n:2008!;
Result

Ejercicio 2.2. ¿Cuántas cifras tiene n en base 10?

(%i49) bfloat(n);
Result

Por tanto, tiene 5762 cifras.

Ejercicio 2.3. Calcular la descomposición de n en productos de factores
primos.

(%i50) ifactors(n);
Result

Ejercicio 2.4. ¿Con cuántos ceros termina n?

Puesto que el exponente de 5 en la descomposición anterior es 500, n termina
con 500 ceros. En efecto,

(%i51) n/10^500;
Result

(%i52) n/10^499;
Result

3 Ejercicio 3

Ejercicio 3. 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.

(%i53) sol3:2$
for i:2 thru 2008 do sol3:next_prime(sol3)$
sol3;

Result

4 Ejercicio 4

Ejercicio 4. Escribir un programa para asignarle a la variable sol4 el
número de primos inferiores a 100000.

(%i56) sol4:0$
for i:2 thru 100000 do (if primep(i) then sol4: sol4+1 else sol4)$
sol4;

Result

5 Ejercicio 5

Ejercicio 5. 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.

(%i59) sol5:2$
for i:2 thru 9592 do sol5:next_prime(sol5)$
sol5;

Result

Ejercicio 5.2. Comprobar si sol5 es el mayor primo menor que 100000.

(%i62) is(sol5=prev_prime(100000));
Result


Created with wxMaxima.