Matlab - problema de buques inconclusos

 
Vista:

problema de buques inconclusos

Publicado por Henry (1 intervención) el 27/06/2011 21:51:26
Hola buenas tardes , estaba haciendo un ejercicio de matlab cuyo enunciado aparece a continuacion y me ha surgido un problema ya que el resultado no es el k deberia. A continuacion os pongo el enunciado seguido de mi desarrollo .

%%función que calcula la suma de de los primos menores o iguales
%que un número natural n:

function y=ud2_74ej(n)
i=2;
y=0;
while i<=n
j=2;
primo=0;
while j<i
if mod(i,j)~=0
primo=1;
a=i;
break
end
j=j+1;
end
if primo ==1
y=y+a;
end
i=i+1;
end

El problema es que introduciendo ud2_74ej(8), matlab me devuelve que y=33; cuando deberia devolver 17 =7+5+3+2 .Si alguno sabeis resolverlo os ruego k me exeis una mano graciass!!!
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

problema de buques inconclusos

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 28/06/2011 19:00:51
Hola Henry.
%========================================
function [sump,PRIMOS]=sumaprimos(n)
%%función que calcula la suma de de los primos menores o iguales
%que un número natural n:
PRIMOS=[];
i=2;
sump=0;
while i<=n
bol=0;
j=1;
while j<=i
if mod(i,j)==0
bol=bol+1;
end
j=j+1;
end

if bol==2
PRIMOS=[PRIMOS i];
sump=sump+i;
end
i=i+1;
end
%=============================


EJECUCIONES

>>>> [sump, PRIMOS]=sumaprimos(8)
sump =
17

PRIMOS =
2 3 5 7



>> [sump, PRIMOS]=sumaprimos(13)
sump =
41

PRIMOS =
2 3 5 7 11 13


>> [sump, PRIMOS]=sumaprimos(2)
sump =
2

PRIMOS =
2


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN 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