2010 Ejercicios 3: Aritmética
De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)
Ejercicio 1
Ejercicio 1.1.
Asignarle a la variable a el valor 2460 y a la b el 3030.
Solución
(%i1) a: 2460; (%o1) 2460 (%i2) b: 3030; (%o2) 3030
Ejercicio 1.2.
Calcular el conjunto D1 de los divisores positivos de a.
Solución
(%i1) D1: divisors(a); (%o1) {1,2,3,4,5,6,10,12,15,20,30,41,60,82,123,164,205,246,410,492,615,820,1230,2460}
Ejercicio 1.3.
Calcular el conjunto D2 de los divisores positivos de b.
Solución
(%i1) D2: divisors(b); (%o1) {1,2,3,5,6,10,15,30,101,202,303,505,606,1010,1515,3030}
Ejercicio 1.4.
Calcular, usando la función intersection, el conjunto D de los divisores comunes de a y b.
Solución
(%i1) intersection (D1,D2); (%o1) {1,2,3,5,6,10,15,30}
Ejercicio 1.5.
Calcular el máximo común divisor de a y b.
Solución
(%i1) gcd(a,b); (%o1) 30
Ejercicio 1.6.
Calcular el mínimo común múltiplo de a y b.
Solución
(%i1) load(functs) $ lcm(a,b); (%o1) 248460
Ejercicio 2
Ejercicio 2.1.
Asignarle a la variable n el valor 2008!
Solución
(%i1) n: 2008!; (%o1) 864364185767107020525555785744[5702 digits]000000000000000000000000000000
Ejercicio 2.2.
¿Cuántas cifras tiene n en base 10?
Solución
(%i1) bfloat(n); (%o1) 8.64364185767107b5761 Por tanto n tiene 5761+1=5762 cifras en base 10
Ejercicio 2.3.
Calcular la descomposición de n en productos de factores primos.
Solución
(%i1) factor(n); (%o1) 2^2001*3^1000*5^500*7^331*11^199*13^165*17^124*19^110*23^90*29^71*31^66*37^55*41^49*43^47*47^42*53^37*59^34*61^32*67^29*71^28*73^27*79^25*83^24*89^22*97^20*101^19*
103^19*107^18*109^18*113^17*127^15*131^15*137^14*139^14*149^13*151^13*157^12*163^12*167^12*173^11*179^11*181^11*191^10*193^10*197^10*199^10*211^9*223^9*227^8*229^8* 233^8*239^8*241^8*251^8*257^7*263^7*269^7*271^7*277^7*281^7*283^7*293^6*307^6*311^6*313^6*317^6*331^6*337^5*347^5*349^5*353^5*359^5*367^5*373^5*379^5*383^5*389^5* 397^5*401^5*409^4*419^4*421^4*431^4*433^4*439^4*443^4*449^4*457^4*461^4*463^4*467^4*479^4*487^4*491^4*499^4*503^3*509^3*521^3*523^3*541^3*547^3*557^3*563^3*569^3* 571^3*577^3*587^3*593^3*599^3*601^3*607^3*613^3*617^3*619^3*631^3*641^3*643^3*647^3*653^3*659^3*661^3*673^2*677^2*683^2*691^2*701^2*709^2*719^2*727^2*733^2*739^2* 743^2*751^2*757^2*761^2*769^2*773^2*787^2*797^2*809^2*811^2*821^2*823^2*827^2*829^2*839^2*853^2*857^2*859^2*863^2*877^2*881^2*883^2*887^2*907^2*911^2*919^2*929^2* 937^2*941^2*947^2*953^2*967^2*971^2*977^2*983^2*991^2*997^2*1009*1013*1019*1021*1031*1033*1039*1049*1051*1061*1063*1069*1087*1091*1093*1097*1103* 1109*1117*1123*1129*1151*1153*1163*1171*1181*1187*1193*1201*1213*1217*1223*1229*1231*1237*1249*1259*1277*1279*1283*1289*1291*1297*1301* 1303*1307*1319*1321*1327*1361*1367*1373*1381*1399*1409*1423*1427*1429*1433*1439*1447*1451*1453*1459*1471*1481*1483*1487*1489*1493*1499* 1511*1523*1531*1543*1549*1553*1559*1567*1571*1579*1583*1597*1601*1607*1609*1613*1619*1621*1627*1637*1657*1663*1667*1669*1693*1697*1699* 1709*1721*1723*1733*1741*1747*1753*1759*1777*1783*1787*1789*1801*1811*1823*1831*1847*1861*1867*1871*1873*1877*1879*1889*1901*1907*1913* 1931*1933*1949*1951*1973*1979*1987*1993*1997*1999*2003
Ejercicio 2.4.
¿Con cuántos ceros termina n?
Solución
Como hemos visto en la descomposición anterior, n es divisible por 2, 2001 veces y por 5, 500 veces , por tanto es divisible por 10, 500 veces, por tanto termina con 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) cont: 0$ for i: 1 step 1 while cont<2008 do (if (primep(i) = true) then( cont: cont+1), if (cont = 2008) then(sol3:i));
(%o1) done (%i2) sol3; (%o2) 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
(%i1) cont: 0$ for i: 1 step 1 thru 99999 do (if (primep(i) = true) then(cont: cont+1),sol4:cont); (%o1) done (%i2) sol4; (%o2) 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) cont: 0$ for i: 1 step 1 while cont<9592 do (if (primep(i) = true) then( cont: cont+1), if (cont = 9592) then(sol5:i)); (%o1) done (%i2) sol5; (%o2) 99991
Ejercicio 5.2.
Comprobar si sol5 es el mayor primo menor que 100000.
Solución
(%i1) next_prime(sol5); (%o1) 100003 Luego es correcto. sol5=99991 es el mayor primo menor que 100000