Números Perfeitos com Java
Publicado por Alan Teixeira 30/12/2007
[ Hits: 18.309 ]
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");
}
}
}
Existência de triângulo, em Java
Colocando informações em variáveis
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Ubunto não reconhece rede ethernet (0)
Secure boot, artigo interessante, nada técnico. (3)









