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