
Ciclos for encadenados; numero primo
Publicado por Miguel (1 intervención) el 07/02/2015 14:34:45
Hola buenas intento hacer un ejercicio que nos propusieron en clase pero no consigo obtener resultados congruentes :(
El enunciado pide que se introduzca un número natural y hacer que el programa vaya número por número comprobando qué cifra hay que sumarle a cada uno para que genere la secuencia de números primos hasta ese número natural. Yo lo hice de la siguiente forma:
n = input('Introduce el numero de naturales que quieres comprobar:') ;
pr = primes(n);
for i=1:n
disp (sprintf(' %d ---->' , i))
for a=1:n
for b=1:n
m = pr(b)
if i+a == m
disp (sprintf('%d',a))
end
end
end
end
Tras ejecutar me da el primer valor válido de a, pero después me produce un error
"m = pr(b)
!--error 21
Índice inválido.
at line 10".
Llevo ya dos días con este problema y ya estoy completamente atascado y sin ideas... Agradezco de antemano cualquier ayuda :)
El enunciado pide que se introduzca un número natural y hacer que el programa vaya número por número comprobando qué cifra hay que sumarle a cada uno para que genere la secuencia de números primos hasta ese número natural. Yo lo hice de la siguiente forma:
n = input('Introduce el numero de naturales que quieres comprobar:') ;
pr = primes(n);
for i=1:n
disp (sprintf(' %d ---->' , i))
for a=1:n
for b=1:n
m = pr(b)
if i+a == m
disp (sprintf('%d',a))
end
end
end
end
Tras ejecutar me da el primer valor válido de a, pero después me produce un error
"m = pr(b)
!--error 21
Índice inválido.
at line 10".
Llevo ya dos días con este problema y ya estoy completamente atascado y sin ideas... Agradezco de antemano cualquier ayuda :)
Valora esta pregunta


0