F90: Conjectura de Goldbach (sem crivo)
From AdonaiMedrado.Pro.Br
Revision as of 02:58, 27 November 2008 by Adonaimedrado (Talk | contribs) (Protected "F90: Conjectura de Goldbach (sem crivo)" [edit=sysop:move=sysop])
Este código foi desenvolvido pelo aluno Paulo Raimundo durante a disciplina Processamento de Dados (UFBA 2008.2). Data da apresentação: 26/11/2008.
Para conhecer sobre a Conjectura de Golbach visite: http://pt.wikipedia.org/wiki/Conjectura_de_Goldbach.
PROGRAM Goldbach INTEGER :: A, B, C, D, E WRITE (*,*) "Digite até quanto deseja testar?" READ (*,*) E DO A=4,E,2 B=1 C=A-1 D=C DO B=B+1 D=D-1 IF (primoteste(B) .AND. primoteste(D)) THEN WRITE (*,*) A, "=", B,"+", D IF (A==E) PAUSE "Terminou o cálculo!" EXIT END IF IF (B==C) THEN WRITE (*,*) "Parabéns, foi encontrado um contra-exemplo e a conjectura é falsa!" PAUSE END IF END DO END DO CONTAINS LOGICAL FUNCTION primoteste(x) INTEGER, INTENT(IN) :: x INTEGER(8) :: B, C, D, E E=x B=x-1 DO C=2, B D=C IF (D==B) THEN primoteste=.TRUE. EXIT END IF IF (MOD(E,D)>0) CYCLE primoteste=.FALSE. EXIT END DO END FUNCTION primoteste END PROGRAM Goldbach