--------------------------------------------------------------------------
MAC-115 - comando "while" e comando "if-else"
==============================================================================
/*
* arquivo: perfeito.c
* -------------------
* Dado um inteiro n > 0, este programa verifica se
* n é perfeito. Dizemos que n é perfeito se n é
* igual `a soma de seus divisores estritamente menores que n.
* Ex: n = 6 é perfeito pois n = 6 = 1 + 2 + 3.
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, /* inteiro a ser testado se é perfeito */
d, /* candidato a divisor de n */
soma;
printf("Digite o valor de n: ");
scanf("%d", &n);
soma = 0;
d = 1;
while (d < n) {
if (n % d == 0) /* Veja OBS abaixo */
soma = soma + d;
d = d + 1;
}
if (soma == n)
printf("%d e' perfeito.\n", n);
else
printf("%d nao e' perfeito.\n", n);
system("pause"); /* para quem usa Windows */
return 0;
}
/* ----------------------------------
* OBS: O resultado de n % d eŽ o resto da divisao inteira de n por d.
*
* Se o resto da divisao de n por d
* e' igual a zero entao d eŽdivisor de n
*/