Dado um número n inteiro e positivo, dizemos que n é perfeito se n for igual à soma de seus divisores positivos diferentes de n. Construa um programa em C que verifica se um dado número é perfeito. Ex: 6 é perfeito, pois 1+2+3 = 6.
Soluções para a tarefa
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL,"PORTUGUESE");
//CRIAR VARS
int i, num, soma;
//INICIALIZAR VARS
num = soma = 0;
//PROCESSAR DADOS
printf("\n\n\t======================================");
printf("\n\t|| VERIFICAR SE O NÚMERO É PERFEITO ||");
printf("\n\t======================================\n");
printf("\n\n INFORME O VALOR: ");
fflush(stdin);
scanf("%d", &num);
//VALIDAR SE O NÚMERO É POSITIVO
while(num <= 0)
{
printf("\n\n NÚMERO INVÁLIDO...INSIRA UM VALOR SUPERIOR A 0.");
printf("\n\n\n INFORME O VALOR: ");
fflush(stdin);
scanf("%d", &num);
}
//VERIFICAR SE O NÚMERO É PERFEITO
for(i=1; i<num; i++)
if(num % i == 0)
soma = soma + i;
if(soma == num)
printf("\n\n %d É UM NÚMERO PERFEITO...\n",num);
else
printf("\n\n %d NÃO É UM NÚMERO PERFEITO...\n",num);
return 0;
}
Abraços e bons estudos!
O algoritmo na linguagem de programação C que responde se um número é perfeito ou não é este:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int soma=0,dobro,n,i;
printf("Digite um número:");
scanf("%d",&n);
printf("\n\n");
dobro=2*n;
for (i=1;i<=n;i++)
{
if(n % i == 0)
{
soma=soma+i;
}
}
if(soma==dobro)
printf("%d é um número perfeito ",n);
else
printf ("%d não é um número perfeito",n);
return 0;
}
Como se verifica se um número é perfeito?
Um número é considerado perfeito quando a soma de seus divisores positivos for igual a ele mesmo, pode parecer algo simples mas os números perfeitos são incrivelmente discrepantes entre si, por exemplo, há uma gigantesca diferença entre o primeiro número perfeito e o quinto número perfeito, a ordem dos primeiros cinco números perfeitos é:
- 6
- 28
- 496
- 8.128
- 33.550.336
Como é possível observar, o primeiro número perfeito é 6 enquanto o quinto número perfeito é 33.550.336.
Saiba mais sobre Números Perfeitos aqui: https://brainly.com.br/tarefa/27349720
#SPJ2