Buenas, aula passada na cadeira de programação o prof pediu o um programa em C que verificasse se um dado numero era perfeito, lembrando que um numero é perfeito se a soma de seus divisores são iguais ao proprio numero ex: 6 = 1+ 2 + 3
segue o programa então:
#include<stdio.h>
/* Criado em:Qua 24/Set/2008 hs 22:13
Autor: MRSantos mrsantos4@ucs.com */
int perfeito(int n);
int main(int argc, char *argv[])
{
int x;
x = atoi(argv[1]);
system("clear; tput cup 20 40");
/* ate hoje nao foi encontrada um perfeito impar
* detalhes em: http://pt.wikipedia.org/wiki/N%C3%BAmero_perfeito
* */
if(x % 2 == 1)
{
printf("%d nao eh perfeito\n\n", x);
return 0;
}
if(perfeito(x))
{
printf("%d eh perfeito\n\n", x);
return 0;
}
else
{
printf("%d nao eh perfeito\n\n", x);
return 0;
}
return 0;
}
int perfeito(int n)
{
int i, soma = 0;
for(i = 1; i <= n/2; i++)
{
if(n % i == 0)
{
soma += i;
}
}
if(soma == n)
return 1;
return 0;
}