Difference between revisions of "F90: Conjectura de Goldbach (sem crivo)"
From AdonaiMedrado.Pro.Br
(New page: 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 ...) |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Este código foi desenvolvido pelo aluno Paulo Raimundo durante a disciplina Processamento de Dados (UFBA 2008.2). Data da apresentação: | + | Este código foi desenvolvido pelo aluno Paulo Raimundo durante a disciplina Processamento de Dados (UFBA 2008.2). Data da apresentação: 25/11/2008. |
Para conhecer sobre a Conjectura de Golbach visite: http://pt.wikipedia.org/wiki/Conjectura_de_Goldbach. | Para conhecer sobre a Conjectura de Golbach visite: http://pt.wikipedia.org/wiki/Conjectura_de_Goldbach. |
Latest revision as of 20:40, 30 November 2008
Este código foi desenvolvido pelo aluno Paulo Raimundo durante a disciplina Processamento de Dados (UFBA 2008.2). Data da apresentação: 25/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