Saltar al contenido

Diario de clases

Clases de Jesús Soto

Menú
  • Fórmulas
Menú

El algoritmo de la división con maxima

Posted on 11 de febrero de 2026

1. El algoritmo de la división

Dados dos números enteros \(a\) y \(b\), con \(a\) no nulo, la división euclídea asocia un cociente \(q\in\mathbb{Z}\) y un resto \(r\in\mathbb{Z}\), únicos, que verifican: \[b=q\,a+r,\quad 0\leq r<|a|\]

(%i6) b:2^(2^5)+1;
a:2^(2^4)+1$
r:b−a$
i:1$
while(r>a) do (
   r:r−a,
   i:i+1
)$
print(«cociente:»,i,«resto»,r,» -> «,b,«=»,i,«*»,a,«+»,r)$

\[4294967297\]\[\mbox{cociente}:65535\, \mbox{resto}:2\,\to\, 4294967297=65535\cdot 65537+2\]

Veamos almacenando

(%i13) b:126$
a:33$
r:[b−a]$
i:1$
while(r[i]>a) do (
   r:append(r,[r[i]−a]),
   i:i+1
)$
print(r)$
print(«cociente:»,i,«resto»,r[i],» -> «,b,«=»,i,«*»,a,«+»,r[i])$

\[\left[ 93{,}60{,}27\right]\]\[\mbox{cociente}:3,\,\mbox{resto}:27\,\to\, 126=3\cdot 3+2\]

1.1 cociente

Por el algoritmo de la divisón, el cociente de b/a será el entero q tal que
a*q<=b<a*(q+1)

1.1.1 algoritmo

(%i15) cociente(b,a):=block([q],
   q:1,
   while(a·q<=b) do (
       q:q+1
   ),
   q−1
)$
cociente(126,33);

\[3\]

1.1.2 Función floor() de maxima

floor(x) nos da el cociente:
Sea \(\lfloor\cdot \rfloor:\mathbb{R}\to\mathbb{Z}\), definida por,
\[\forall x\in\mathbb{R},\ \lfloor x\rfloor=\{n\in\mathbb{Z}:n\leq x<n+1\}\]

(%i16) floor(126/33);

\[3\]

1.2 resto

(%i18) resto(b,a):=block([q],
   q:1,
   while(a·q<=b) do (
       q:q+1
   ),
   b−a·(q−1)
)$
resto(126,33);

\[27\]

1.2.1 Función mod() de maxima

la función mod() nos da el resto:

(%i19) mod(126,33);

\[27\]

1.3 Ejercicio

¿Cuál es el resto de la división de \(F_5=2^{2^5}+1\) por 13?

(%i21) F5:2^(2^5)+1$
print(F5,«=»,floor(F5/13),«*»,13,«+»,mod(F5,13))$

\[\]\[4294967297=330382099{\cdot}13+10\]

1.4 Ejercicio

¿Cuántos números hay entre 123 y 235 divisibles por 7?

(%i25) a:[]$
for i:126 thru 235 do (
   if(mod(i,7)=0) then  
      a:append(a,[i])  
)$
a;
length(a);

\[\left[ 126{,}133{,}140{,}147{,}154{,}161{,}168{,}175{,}182{,}189{,}196{,}203{,}210{,}217{,}224{,}231\right] \]

\[16\]

Este resultado lo podemos ver observando que hay floor(n/m) número divisibles por m menores que n

(%i26) floor(235/7)−floor(126/7);

\[15\]

Observemos que no da el mismo resultado pues 126 es divisible por 7 y se resta dos veces. Para ser correcto sería:

(%i30) ini:126$
fin:235$
num:floor(fin/7)−floor(ini/7)$
if(mod(ini,7)=0) then print(num+1) else print(num)$

16

1.5 Cifras de un número en base 10

Veamos una curiosidad. Para conocer el número de cifras que tiene un entero positivo cualquiera basta con calcular :\[\# n=\text{Nº cifras de }n=\lfloor\log(n)\rfloor+1\] donde \(\log(n)\) es el logaritmo decimal.

Ejercicio: ¿Cuántas cifras tiene \(F_{7}\)?

(%i32) F7:2^(2^7)+1;
print(«número de cifras: «,floor(log(F7)/log(10))+1)$

número de cifras: 39

2 Algoritmo de la numeracion

Aprenderemos a expresar un número en base decimal a cualquier otra base

(%i34) F4:2^(2^4)+1;
q:[floor(F4/7),mod(F4,7)];

\[65537\]

\[\left[ 9362{,}3\right] \]

(%i35) q:[floor(q[1]/7),mod(q[1],7)];

\[\left[ 1337{,}3\right] \]

(%i36) q:[floor(q[1]/7),mod(q[1],7)];

\[\left[ 191{,}0\right] \]

(%i37) q:[floor(q[1]/7),mod(q[1],7)];

\[\left[ 27{,}2\right] \]

(%i38) q:[floor(q[1]/7),mod(q[1],7)];

\[\left[ 3{,}6\right] \]

(%i39) q:[floor(q[1]/7),mod(q[1],7)];

\[\left[ 0{,}3\right] \]

Terminamos porque hemos llegado a un cociente igual a 0, el numero que buscamos es (362033) en base 7

2.1 Algoritmo

El proceso unificado es:

(%i44) F4:2^(2^4)+1$
q:[floor(F4/7),mod(F4,7)]$
m:matrix([q[1]],[q[2]])$
for i:1 thru 5 do (
   q:[floor(q[1]/7),mod(q[1],7)],
   m:addcol(m,transpose(q))
)$
m;

\[\begin{pmatrix}9362 & 1337 & 191 & 27 & 3 & 0\\3 & 3 & 0 & 2 & 6 & 3\end{pmatrix}\]

Recordemos que vimos que los dígitos de un número se calculaban con floor(log(n)/log(10))+1, pues los dígitos en cualquier base b es floor(log(n)/log(b))+1, por tanto en el for anterior basta con hacer el thru hasta floor(log(F4)/log(7))

2.1.1 Ejercicio

¿Cuánto suman los dígitos de F4 en base 7?

(%i45) sum(m[2,i],i,1,6);

\[17\]

2.1.2 Ejercicio

Expresar F5 en base 8

(%i50) F5:2^(2^5)+1$
q:floor(F5/8)$
d:[mod(F5,8)]$
while(q>0) do(
   d:append(d,[mod(q,8)]),
   q:floor(q/8)
   )$
concat(F5, es (,sum(d[i]·10^(i−1),i,1,length(d)),«)_»,8);

\[4294967297 \mbox{ es } (40000000001)_8\]

2.2 Función algoritmo

Veamos una función que nos de la expresión de cualquier número en base 10 a base b.

(%i52) base(n,b):=block([q,d],
   q:floor(n/b),
   d:[mod(n,b)],
   while(q>0) do (
       d:append(d,[mod(q,b)]),
       q:floor(q/b)
   ),
   d
)$/* Esta función nos da los dígitos*/
num_base(n,b):=block([d,i,p],
   d:base(n,b),
   p:sum(d[i]·10^(i−1),i,1,length(d)),
   concat(«(«,p,«)_»,b)
)$/*Con esta función lo expresamos en base b*/

(%i53) print(F4,«=»,num_base(F4,7))$

\[65537=(362033)_7\]

(%i55) F6:2^(2^6)+1$print(num_base(F6,8))$

\[(2000000000000000000001)_8\]

(%i57) F7:2^(2^7)+1$print(num_base(F7,8))$

\[(4000000000000000000000000000000000000000001)_8\]

MAD: Divisibilidad y Algoritmo de la división

Posted on 9 de febrero de 2026

Divisibilidad El concepto de divisibilidad es uno de los más importantes que veremos en Teoría de números. Con él pretendemos dar una sustitución de la división que no siempre es posible en…

MAD: Presentación

Posted on 2 de febrero de 2026

En la presentación del día de hoy hemos visto Presentación Objetivos de la asignatura Metodología y Evaluación Bibliografía Objetivos, Metodología y Evaluación El contenido de la asignatura está centrado en tres bloques:…

ALG: Ejercicios de repaso

Posted on 17 de diciembre de 2025

Ejercicio: Sea la matriz \(A=\begin{bmatrix}4 & 2 & 0 & 0\\ 3 & 3 & 0 & 0\\ 0 & 0 & 2 & 5\\ 0 & 0 & 0 & 2\end{bmatrix}\)…

ALG: Diagonalización de una matriz

Posted on 15 de diciembre de 2025

Dado \(\mathbf {A} \in M_{n\times n}(\mathbb {K} )\), una matriz cuadrada con valores sobre un cuerpo \(\mathbb {K}\), decimos que \(\mathbf{A}\) es diagonalizable si, y sólo si, \(\mathbf{A}\) se puede descomponer de…

ALG: Autovectores y autovalores con maxima

Posted on 12 de diciembre de 2025

El pasado día vimos que para calcular los valores propios o autovalores necesitamos el polinomio característico. Ejercicio: Determinar los autovalores de la matriz \[\begin{bmatrix}1 & 1 & 0\\ 2 & 0 &…

ALG: Autovectores y autovalores

Posted on 10 de diciembre de 2025

Autovalores Denominamos esta parte autovectores y autovalores, también conocidos como vectores y valores propios de una matriz. Su definición es simple: Dada una matriz, \(A\in\mathcal{C}_n(\mathbb{K})\), real o compleja, cuerpos que trataremos, decimos…

MathBio: Modelización de procesos biológicos

Posted on 9 de diciembre de 2025

Muchos procesos biológicos ocurren continuamente a través del tiempo. Algunos ejemplos son el cambio de concentración de un fármaco en el torrente sanguíneo de un paciente, o el crecimiento de la masa…

MathBio: Tasa de multiplicación constate y Ley del enfriamiento de Newton

Posted on 9 de diciembre de 2025

Hoy vamos a tratar dos modelos sencillos: Tasa de multiplicación constate y Ley del enfriamiento de Newton Tasa de multiplicación constate Cuando decimos Tasa de multiplicación constate, nos estamos refiriendo que \[\frac{dy}{dx}=a,\]…

ALG: El espacio vectorial euclídeo con maxima

Posted on 5 de diciembre de 2025

Suma e intersección de subespacios Ejemplo: Sean los subespacios vectoriales \(S=\textbf{Gen}\{[[1,2],[2,1]],\) \([[0,-1],[1,1]]\}\) \(\in\mathcal{M}_2(\mathbb{R})\) y \(T=\textbf{Gen}\{[[-1,0],[3,-1]],\)\([[1,9],[9,-2]]\}\in\mathcal{M}_2(\mathbb{R})\). Determinar las ecuaciones implícitas de \(S\cap T\). Solución: Ejemplo: Dados los subespacios anteriores, ¿cuáles son las sumas(en…

Paginación de entradas

1 2 … 7 Siguientes

Novela

La Loba, la lucha fraticida por un reino

La Loba, la lucha fratricida por un reino.

Urraca, señora de Zamora, acusada de instigar la muerte de su hermano, el rey Sancho de Castilla, deberá defenderse de la acusación, al tiempo que luchará por mantener la cohesión entre los hermanos y los reinos cristianos: una lobera de fieros lobeznos.

👉 En amazon

Entradas recientes

  • El algoritmo de la división con maxima
  • MAD: Divisibilidad y Algoritmo de la división
  • MAD: Presentación
  • ALG: Ejercicios de repaso
  • ALG: Diagonalización de una matriz
febrero 2026
L M X J V S D
 1
2345678
9101112131415
16171819202122
232425262728  
« Dic    

Categorías

  • Álgebra Lineal
  • general
  • Matemática Discreta
  • MathBio

Etiquetas

Prácticas MAD Prácticas MathBio Prácticas Álgebra

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
©2026 Diario de clases | Diseño: Tema de WordPress Newspaperly