Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Budasan

[Resolvido] programa que verifica numeros perfeitos

Recommended Posts

Pessoal, to com um programa que verifica se o numero é perfeito, fiz ele mas ta com algum problema na logica, o programa que eu escrevi foi esse:

#include <stdio.h>
int main()
{
	int num, soma=0, i, t;
	printf("Numero a ser analisado:");
	scanf("%d", &num);
   do 
   {
   for (i=1; i<num; i++)

	if (num%i==0)
	soma=soma+i;
scanf("%d", &num);

if (soma==num)
printf("O numero %d e perfeito." , num);

if (soma<=num)
printf("A soma dos divisores, %d, e menor do que o numero %d", soma, num);

if(soma>=num)
printf("A soma dos divisores, %d, e maior do que o numero %d", soma, num);

}
while (num>=0);
scanf("d", &t);
return 0;
}
Alguma Sugestao????

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei um dos erros mas os outros ainda persistem,

o primeiro numero que eu coloco o programa num le, o segundo funciona corretamente, o terceiro da problema na soma dos divisores

ps um numero perfeito eh aquele que a soma dos divisores da ele mesmo, por exemplo, 6=1 + 2 +3, 28 e 496 tb sao

o progrmama parcial ta assim:

#include <stdio.h>
int main()
{
	int num, soma=0, i;
	printf("Numero a ser analisado:");
	scanf("%d", &num);
   do 
   {
   for (i=1; i<num; i++)

	if (num%i==0)
	soma=soma+i;
scanf("%d", &num);

if (soma==num)
printf("O numero %d e perfeito." , num);

if (soma<num)
printf("A soma dos divisores, %d, e menor do que o numero %d", soma, num);

if(soma>num)
printf("A soma dos divisores, %d, e maior do que o numero %d", soma, num);

}
while (num>=0);
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui resolver, achei o erro, vlw pessoal

#include <stdio.h>
int main()
{
	int num, soma, i;
	printf("Numero a ser analisado:");

   do 
   {	scanf("%d", &num);
   soma=0;
   for (i=1; i<num; i++)

	if (num%i==0)
	soma=soma+i;

if (soma==num)
printf("O numero %d e perfeito." , num);

if (soma<num)
printf("A soma dos divisores, %d, e menor do que o numero %d", soma, num);

if(soma>num)
printf("A soma dos divisores, %d, e maior do que o numero %d", soma, num);

}
while (num>=0);
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.