Numeros perfeitos
Publicado por N 27/05/2005
[ Hits: 11.797 ]
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; } } }
Nenhum comentário foi encontrado.
Links importantes de usuários do VOL (3)
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Discord no Fedora 40
Instalando Discord no Ubuntu 24.04 LTS
Como instalar o XFCE4-terminal na sua distribuição Linux e integrá-lo ao sistema
Como instalar o Tilix Terminal no Gnome e usá-lo como menu drop-down ao estilo Quake
Required key not available Refer to the mount.cifs(8) (0)
Sistema da Coréia do Norte - Red Star OS (38)
Problemas de instalação hyprland + Void Linux (1)
Acento til, agudo e circunflexo nao funcionam com Debian (4)