Números Perfeitos com Java
Publicado por Alan Teixeira 30/12/2007
[ Hits: 18.318 ]
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");
}
}
}
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (8)
VOL já não é mais como antes? (15)
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)









