Matlab - Comprobación de algoritmo

 
Vista:

Comprobación de algoritmo

Publicado por Yei (2 intervenciones) el 11/10/2011 17:42:23
Tengo hecho el siguiente programa que determina si un número es o no perfecto (es decir que la suma de sus divisores sea igual a dicho número):

s=0
for i=1:n
if rem(n,i)==0
s=s+i
end
end
if n==s
disp("El numero es perfecto")
else
disp("El numero no es perfecto")
end

Ahora, ¿cómo puedo ejecutarlo para saber si está bien, y probarlo con un número cualquiera?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Comprobación de algoritmo

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/10/2011 01:56:40
Hola Yei.
Me parece lo que quieres, es leer datos del teclado.

%========================================
clear all
n=input('Ingrese el número n=');
s=0;
for i=1:n-1
if rem(n,i)==0
s=s+i;
end
end
if n==s
disp('El número es perfecto')
else
disp('El número no es perfecto')
end
%=======================================

%==========================================
j=1;
k=1;
while j<=n
s=0;
for i=1:j-1
if rem(j,i)==0
s=s+i;
end
end
if j==s
NUMEROS_PERFECTOS(k)=j;
k=k+1;
end
j=j+1;
end
display(NUMEROS_PERFECTOS);

%=======================================

EJCUCION
>> numero_perfecto
Ingrese el número n=6
El número es perfecto
NUMEROS_PERFECTOS =
6

>> numero_perfecto
Ingrese el número n=29
El número no es perfecto
NUMEROS_PERFECTOS =
6 28

>> numero_perfecto
Ingrese el número n=500
El número no es perfecto
NUMEROS_PERFECTOS =
6 28 496


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comprobación de algoritmo

Publicado por Yei (2 intervenciones) el 19/10/2011 16:35:33
Mil gracias, problema solucionado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comprobación de algoritmo

Publicado por Arturo (1 intervención) el 16/02/2015 22:46:33
Gracias, me ah servido tu programa :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comprobación de algoritmo

Publicado por Wilman Muñoz (1 intervención) el 19/10/2013 23:35:11
para ejecutarlo cree una funcion con un input y listo, pero debe corregir que dice for i=1:n porque asi el programa esta mal, debe ser for i= 1:(n-1) porque la suma es de los divisores propios menores al numero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar