Números Perfeitos com Java
Publicado por Alan Teixeira 30/12/2007
[ Hits: 18.377 ]
Homepage: NULL
Download NumerosPerfeitos2.java
É um script simples que foi usado no meu trabalho semestral.
Encontra números perfeitos, dado como parâmetro um vetor.
// 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");
}
}
}
Jogo de adivinhação de números
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Opções secretas em tema do Cinnamon
Como mapear unidade de rede no Linux
Como quebrar senha usando john the ripper
Alguém já testou o novo COSMIC Desktop? O que achou? (4)
Não consigo instalar distro antiga no virtualbox nem direto no hd (29)
queria saber como posso alterar a frequencia do meu ryzen 2300u pro (3)









