Mayor número de divisores

De Ejercicios

Enunciado

Diseña un algoritmo que lea desde teclado dos enteros positivos y muestre en pantalla el entero, de los situados entre los dos enteros leídos, que tenga más divisores, así como un listado de sus divisores (el 1 y el propio número no se consideran divisores). Por ejemplo, si se leen los valores 13 y 6, el resultado a mostrar en pantalla debe ser:

Entero con mayor cantidad de divisores: 12
Divisores 2, 3, 4, 6

Para ello diseñar también un subalgoritmo que dado un número entero devuelva cuáles son sus divisores y la cantidad de éstos. Dicho subalgoritmo debe ser invocado en el algoritmo principal cuando se requiera dicha tarea.

Soluciones

%Programa Masdivisores
%Entradas: dos números enteros positivos
%Salidas: número entre ambos valores enteros que más divisores tiene (sin incluir 1 y él 
%      mismo) y sus dividores
 
%Leer los número enteros positivos.
a=input('Introduce un número entero positivo: ');
while a<0 && fix(a)~=a
   disp('ERROR: el número debe ser ENTERO POSITIVO');
   a=input('Introduce un número entero positivo: ');
end
 
b=input('Introduce otro número entero positivo: ');
while b<0 && fix(b)~=b
   disp('ERROR: el número debe ser ENTERO POSITIVO');
   b=input('Introduce otro número entero positivo: ');
end
 
%Comprobar cual es el mayor y cual es el menor.
if (a>b)
   mayor=a;
   menor=b;
else
   mayor=b;
   menor=a;
end
 
%Encontrar el que mayor divisores tiene
maxdivisores=0;
num=0;
divisores=[];
 
for n=menor:mayor
    auxdivisores=[];
    for x=2:n-1
        if (rem(n,x)==0)
            auxdivisores=[auxdivisores x];
        end
    end
    ndivisores=length(auxdivisores);
    if (maxdivisores<ndivisores)
        maxdivisores=ndivisores
        divisores=auxdivisores;
        num=n;
    end
end
 
%Mostrar el resultado.
disp(['El número que más divisores tiene es el ',num2str(num),' con ',num2str(maxdivisores),' divisores']);
disp('Los divisores son: ');
disp(divisores);
Tipos de soluciones
icono.png);" href="/mcdiaz/docencia/ejercicios/index.php?title=P%C3%A1gina_Principal" title="Portada [z]" accesskey="z">
Tipos de soluciones