Pular para o conteúdo

Números Perfeitos com Java

É um script simples que foi usado no meu trabalho semestral.

Encontra números perfeitos,  dado como parâmetro um vetor.
Alan Teixeira astdarkness
Hits: 18.522 Categoria: Java Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

É um script simples que foi usado no meu trabalho semestral.

Encontra números perfeitos,  dado como parâmetro um vetor.
Download NumerosPerfeitos2.java Enviar nova versão

Esconder código-fonte

//  Programa que encontra numeros perfeitos em java dado uma lista como parametro
// Autor: Alan Santos Teixeira
// email: astdarkness@yahoo.com.br >Astdarkness<
// Descrição: Número perfeito é um número natural cuja soma de seus divisores próprios 
//(excluído o próprio número) coincide com o número.
//  Exemplo:
// Numeros Perfeitos: 6,28,496,
//  6  ==> 1+2+3=6
//  28 ==> 1+2+4+7+14=28
// 496 ==>  1+2+4+8+16+31+62+124+248=496

public class NumerosPerfeitos2{

   
   public static int[] NumPerfect(int[] lista){
   // Função que retorna um array de numeros perfeitos
   
         int elemento, soma, cont;
         int resposta[]=new int[lista.length];   //array que armazena a resposta temporaria
         int total[];                     // array que armazena a resposta final   
                  
         cont=0;   // contador responsavel pelo indice do array resposta  adicionando o numero
               //na posicao e tambem responsavel pela quantidade de numeros perfeitos achados
         
         for (int i=0; i < lista.length ; i++) {
               soma = 0;
               // pega o  elemento da lista  passada como parametro      
               elemento=lista[i];          
               for (int j=1 ; j < elemento ; ++j)    
               
                  // acha  os divisores próprios excluido-se o próprio numero
                  if ( (elemento % j) == 0) soma += j;
                  
               // verifica se a soma dos divisores próprios e igual ao numero da lista   
               if (soma == elemento)
                   // adiciona no array temporario de o valor coincide
                  resposta[cont++]=elemento;
               
         }
         
         total=new int[cont]; // cria um novo vetor para receber apenas os elementos encontrados
         for(int z=0; z< cont; z++){
            total[z]=resposta[z];
         }
         
         return total; //retorna o novo vetor com os numeros perfeitos
   }

   public static void main(String args[]){
   //Testa a funcao
      int list[]={33550336,28,7,5,6,496,51,8128};
      int vet[];
      
      
      vet= NumPerfect(list) ;
      
      for(int i=0; i< vet.length; i++){
         System.out.println(vet[i] + "\t");
      }
   }
}

Calculadora básica em Java

Bubble Sort em Java

Soma Gratificação Menos o IR.

Notas

Trabalhando com Cores

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.