Patr�cia,

        O programa abaixo n�o mostra num applet, mas est� funcionando.

Waldomiro.
-------------------------------------------------------------------
import javax.swing.JOptionPane;

public class Perfeitos 
{
   public static void main( String args[] )
   {
      String msg="";

        for (int num=1; num<=1000; num++)
        {       
           int sum=0;
             
         for(int i=1; i<=num-1; i++)
           if (num%i==0) sum+=i;
            
           if (num == sum)
           {
            msg += "\n" + num + " eh um inteiro perfeito.  Fatores: ";
            for(int i=1; i<=num-1; i++)
               if (num%i==0) 
                  msg += i + " ";
         }
      }
      JOptionPane.showMessageDialog( null, msg,
                             "Resultado", JOptionPane.PLAIN_MESSAGE );
      System.exit( 0 );
   }
}

-----Mensagem original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] 
Enviada em: domingo, 21 de outubro de 2001 13:50
Para: [EMAIL PROTECTED]
Assunto: [java-list] D�vida URGENTE!!!!!!!!!

oi , estou precisando de uma ajudinha , se for poss�vel !!!
� o seguinte , preciso resolver o seguinte exerc�cio :

Diz - se que um n�mero inteiro � um n�mero perfeito , se a soma de seus 
fatores , incluindo o 1 � igual ao pr�prio n�mero . Por exemplo , 6 � um
n�mero 
perfeito , porque 6=1+2+3 . Escreva um m�todo perfect que determina se
seu 
par�metro number � um n�mero perfeito . Utilize esse m�todo em um applet
que 
determina e exibe todos os n�meros perfeitos entre 1 a 1000 . exiba ,
para cada 
n�mero seus fatores . O resultado deve ser mostrado em JTextArea.

O problema � o seguinte , consegui o algoritimo em VBScript , mas n�o
sei 
passar p/ Java  . e n�o sei o que � um m�todo perfect !!!!

Aqui vai o algoritimo em VBScript:
for x=1 to 1000
 if perfect(x) then
    Msgbox X&"� um numero perfeito
end if
next
 
function prfect(numero)
dim numero_primo
dim quociente
dim soma_divisor

soma_divisor=2
numero_primo=0
quociente=numero

do while quociente>1
  if(quocienteMODnumero_primo=0)them
     quociente=quociente/numero_primo
     soma_divisor=soma_divisor+numero_primo
else
     numero_primo=BuscaProximoNumeroPrimo(numero_primo)
end if
loop
soma_divisor=soma_divisor+1
if clng(soma_divisor)=clng(numero)then
   perfect=true
else
   perfect=false
end if

end function

function BuscaProximoNumeroPrimo(numero_primo_inicial)
dim prox_numero_primo
dim k
dim qtd_divisoes
dim_eh_primo

eh_primo=false
prox_numero_primo=numero_primo_inicial+1

do while eh_primo=false
    qtd_divisoes=0
    for k=1 to prox_numero_primo
        if prox_numero_primoMODk=0 then
          qtd_divisoes=qtd_divisoes+1
end if
next
'se houver apenas duas divisoes , significa que o numerofoi dividido 
'apenas por 1 e por ele mesmo , logo ele � primo
ifqtd_divisoes=2 then
  BuscaProximoNumeroPrimo=prox_numero_primo
  eh_primo=true
else
'se n�o for primo , testar o pr�ximo numero
   prox_numero_primo =prox_numero_primo+1
end if
loop
end function


Por favor me responda , caso vc n�o possa me ajudar e conhe�a algu�m que
possa 
me fale , desde j� agrade�o !
Patricia!!!


------------------------------------------------------
Esta mensagem foi enviada usando o WebMail Canbras.Net
http://www.canbrasnet.com.br



------------------------------ LISTA SOUJAVA
---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para
[EMAIL PROTECTED] 
------------------------------------------------------------------------
-


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a