Numeros perfeitos
Publicado por N 27/05/2005
[ Hits: 12.009 ]
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; } } }
Parte 2 - Sessão de estudo sobre VETORES
EXPRESSÕES ARITMÉTICAS - PARTE 1
[C++] remover todos os multiplos de 3
Nenhum comentário foi encontrado.
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
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
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Autenticação necessária. um aplicativo quer acesso ao chaveiro (3)
O que você está ouvindo agora? [2] (175)
Copiar Layout do Teclado para aplicar em outra Distribuição (10)