Numeros perfeitos
Publicado por N 27/05/2005
[ Hits: 12.218 ]
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;
}
}
}
Calculadora simples com uso de switch , funções e #define
Calcular taxa de juros com constante em C
Nenhum comentário foi encontrado.
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Como cortar as partes de um vídeo com passagens de áudio em branco
Tiling automático no KDE Plasma
SNMP Scan no OCS Inventory só funciona com HTTPS corretamente configurado
Links importantes de usuários do vol (4)
GOG confirma suporte oficial ao sistema Linux: "o trabalho começo... (2)
Para os fãs de DOOM, um vídeo do Romero (com dublagem em pt-br disponí... (2)









