Numeros perfeitos
Publicado por N 27/05/2005
[ Hits: 12.046 ]
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; } } }
Estrutura condicional ternária
Máximo Divisor Comum (algoritmo de Euclides)
A máquina nao perdoa (jogo da velha em c -arquivo correto, agora)
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Olha que maravilha, Arch no C2D 7400, 2GB de RAM, vídeo onboard e no G... (3)
Instalação de Ubuntu em SSD (interno) como se fosse um dispositivo ext... (1)