[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[obm-l] Clausula PROLOG para numeros primos



Olá pessoal!

Eu era da lista a um tempo atrás.. por curiosidade,
mas como não tinha tempo para me dedicar aos estudos
de matemática para poder aprofundar e ter o
conhecimento como vocês todos possuem... acabei me
desligando...

Eu faço Sistemas de Informações na PUC-MINAS e estou
este semestre estudando Linguagens de Programação.
Estudamos os paradigmas das linguagens e ao ver PROLOG
gostei muito!

Bom, vamos logo ao assunto!

Estou tentando exercitar meus, (poucos), conhecimentos
e desenvolver uma clausula em PROLOG para que o
sistema verifique se o número é primo ou não...
Eu fiz uma lógica simples assim:

Verificar se existe divisão exata de X por todos os
números maiores que 1 e menores que X. Se não existir
o número é primo! (OK??!?!??!!!?)

Alguém teria uma alguma outra sujestão?!?!?

A minha cláusula PROLOG meia boca é:

% Entrada de um dado número X e o divisor de
% verificação par N = 2
primo(X, N):- N < X, A is (X mod N), A\=0, N1 is N+1,
primo(X, N1).

DEVERIA Executar Assim:
?primo(9, 2).
no.
?primo(11, 2).
yes.

Mas algo está errado.... Estou testando o 9 pois ele é
impar é pequeno e não é primo!!

Alguém teria como me ajudar?!?!?!? Sugestões?!?!?

Algum outro algoritmo mais eficiente para determinar
números primos? Que dê para implementar em PROLOG???

Obrigado pela paciência de quem leu até aqui!!!


Atenciosamente,
Demétrius P. Miranda

__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger 
http://br.download.yahoo.com/messenger/ 
=========================================================================
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=========================================================================