• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Programaçao em Matlab

acatarinac

Novo
Membro Inactivo
Entrou
Dez 5, 2009
Mensagens
1
Gostos Recebidos
0
Boa tarde,

Pretendo criar um programa que confira se um numero é primo ou nao e que guarde para uma matriz todos os numero primos encontrados ate ao numero inserido pelo utilizador.

"Os números primos são apenas divisíveis por eles próprios e pela unidade. Neste projecto pretende-se determinar todos os números primos menores ou igual a N a partir de uma rotina em MatLab.
Como “INPUT” será dado o valor de N, com N > 2, e como “OUTPUT” os números primos até N. Para a resolução deste problema será necessário utilizar a função “MOD” predefinida no MatLab, que determina o resto da divisão de dois números

mod(X,Y) -> resto da divisao de X/Y

O número natural A é primo se mod (A,B) diferente de zero, para todos os números naturais B, superiores à unidade e menores que A, isto é. 1<B<A"


Abaixo deixo o algoritmo que ja tentei mais ou menos fazer, contudo nao entendo o problema que tem o meu algortimo pois qualquer numero que coloque me dá que não é primo =/.

%bloco limpeza

clear all
clc

%bloco de iniciaçao

n=input('insira o numero inteiro, N, desejado: ');

if n<2;
error (' o valor inserido nao é o apropriado');
end
%bloco do numero primo

if mod(n,1)~=0;
error ('impossivel calcular')
end
k=n
b(2,n)
for i=2,n;

for a=2,i-1;

if mod(i,a)~=0;
disp(['este numero é primo ']);
v=b(2,n) %tentativa de guardar os numeros primos numa matriz

else mod(i,a)==0;
disp (['este numero nao é primo ']);

end
end
end


Ajudem-me por favor.

Obrigada,


acatarinac
 
Topo