Numeros perfeitos
Publicado por N 27/05/2005
[ Hits: 11.909 ]
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; } } }
clean.h - Biblioteca para limpar um determinado espaço no terminal
Estrutura de dados em C -> Fila Circular com operador módulo
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta