Você está aqui: LISP ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em LISPQuantidade de visualizações: 655 vezes |
|
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código Common Lisp (a implementação oficial da LISP) completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
; variáveis que vamos usar no programa
(let ((numero)(primo NIL))
; vamos solicitar um número inteiro positivo
(princ "Informe um número inteiro positivo: ")
; talvez o seu compilador não precise disso
(force-output)
; atribui o valor lido à variável numero
(setq numero (read))
; vamos testar as condições
(cond
; o número é negativo?
((< numero 0)
(princ "Número inválido"))
((or (= numero 0)(= numero 1))
(princ "Número válido, mas não é primo."))
; passou até aqui. Vamos testar se o número é primo
(t
(setq primo T)
(loop for i from 2 to (truncate (/ numero 2))
do (
; se passar no teste, não é primo
if (= 0 (rem numero i))
(progn
(setq primo NIL)
(loop-finish)
)
)
)
; é primo?
(if (eql T primo)
(princ "O número informado é primo")
(princ "O número informado não é primo")
)
)
)
)
Ao executar este código LISP nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
|
|
Veja mais Dicas e truques de LISP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







