Numeros perfeitos
Publicado por N 27/05/2005
[ Hits: 12.183 ]
Verifica quais números entre o intervalo de 1 ate N número são perfeitos.
Definição de número perfeito: Número perfeito é todo aquele que a soma de seus divisores inteiros, exceto ele proprio, que resultam em um número inteiro que é ele proprio.
Ex.: 6 é um número pefeito.
* 6/1 = 6;
* 6/2 = 3;
* 6/3 = 2;
* 1+2+3 = 6;
Ex.:
::NUMEROS PERFEITOS::
De 1 a 999
-> 496
-> 28
-> 6
--
/*
########################################################
# N: Nycholas de Oliveira e Oliveira #
# E: nycholas@gmail.com #
# D: Verifica quais números entre o intervalo de 1 ate #
# D: N número são perfeitos. #
# S: Uberlandia - MG #
# S: Brasil #
########################################################
*/
#include <stdio.h>
typedef void NADA;
typedef int INTEIRO;
typedef unsigned long int INTEIROLONGO;
INTEIROLONGO entrada(NADA);
INTEIROLONGO somaPerfeito(INTEIROLONGO num);
INTEIROLONGO executa(INTEIROLONGO num);
INTEIRO main (NADA) {
INTEIROLONGO num;
num = entrada();
executa(num);
}
INTEIROLONGO entrada (NADA) {
INTEIROLONGO num;
printf("\n########################################################\n");
printf("# N: Nycholas de Oliveira e Oliveira #\n");
printf("# E: nycholas@gmail.com #\n");
printf("# E: o_lalertom@hotmail.com(msn) #\n");
printf("# E: 114965471(icq) #\n");
printf("# D: Verifica quais numeros entre o intervalo de 1 ate #\n");
printf("# D: N numero sao perfeitos. #\n");
printf("# S: Uberlandia - MG #\n");
printf("# S: Brasil #\n");
printf("########################################################\n\n");
printf("::NUMEROS PERFEITOS::\n");
printf("De 1 a ");
scanf("%d", &num);
return num;
}
INTEIROLONGO somaPerfeito (INTEIROLONGO num) {
INTEIROLONGO i;
INTEIROLONGO divisores = 0;
/*
* Verifica se o número e perfeito.
*
* -> Definição de número perfeito: Número perfeito
* é todo aquele que a soma de seus divisores inteiros,
* exceto ele proprio, que resultam em um número inteiro
* que é ele proprio.
* Ex.: 6 é um número pefeito.
* 6/1 = 6;
* 6/2 = 3;
* 6/3 = 2;
* 1+2+3 = 6;
*/
for (i=1; i<num; i++) {
if ((num%i) == 0) {
divisores += i;
}
}
/*
* -> Imprime os números perfeitos entre um intervalo de números.
* Ex.: De 1 a 9999
*
* -> 8128
* -> 496
* -> 28
* -> 6
* --
*/
if (divisores != 0) {
if (divisores == num) {
printf("\n-> %d", num);
}
}
}
INTEIROLONGO executa (INTEIROLONGO num) {
INTEIROLONGO numeral;
/*
* -> Decrementa o número estipulado pelo executor do programa.
* Para que possa realizar a verificação de todo o intervalo.
* Ex.: 999, 998, 997, 996...
*/
for (numeral=num; numeral<=num; numeral--) {
somaPerfeito(numeral);
if (numeral == 0) {
printf("\n--\n");
break;
}
}
}
Calcular a potência de um número.
Day Calculator - Calculador de dias
Jogo: Acerte o número (com níveis de dificuldade)
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
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Assisti Avatar 3: Fogo e Cinzas (4)
Conky, alerta de temperatura alta (11)









