Numeros perfeitos
Publicado por N 27/05/2005
[ Hits: 12.004 ]
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; } } }
Dado três valores, informar o maior e menor número
Relógio com data usando Struct
Arquivo introdutório para chamadas de funções
EXEMPLO DA ULTILIZAÇÃO DE PONTEIROS
Nenhum comentário foi encontrado.
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Não consigo acessar servidores a partir da LAN (0)
Pra quem contribui com artigos e dicas (7)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (27)
Meu PC perde o boot de várias distros Linux após ficar desligado (2)