Ir ao conteúdo

C# Como checar se um número é perfeito ou não?


Ir à solução Resolvido por Um mero usuário,

Posts recomendados

Postado

Escreva um programa em C# que checa se um número é perfeito ou não. Olhe o exemplo a seguir.

Entrada: 56

Saída: Os divisores positivos de 56 são 1 2 4 7 8 14 28

A soma dos divisores vale 64

O número, portanto, não é perfeito.

 

Eu consegui fazer os divisores e já tenho uma ideia de como verificar se o número é perfeito ou não, o problema é que não sei como fazer a soma desses divisores, já tentei e nada...

 

using System;

namespace Exercises_3
{
    class Program
    {
        static void Main(string[] args)
        {
			Console.WriteLine("Informe um número:");
            int ndiv = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Os divisores positivos de " + ndiv + " são:");
            for (int i8 = 1; i8 < ndiv; i8++)
            {
                if (ndiv % i8 == 0)
                {
                    Console.WriteLine(i8);
                    
                }
            }
           






        }
    }
}

 

  • Solução
Postado

vou botar so a logica do negocio, nn faça ctrl+c/v porque provavelmente dará erro... pegue só a logica e reescreva... escrevi em C/C++, nunca mexi com C#, mas parece a estrutura

 

num = 64 //numero de exemplo, meta um input aqui, ou sei lá
soma = 0 //soma dos divisores

for(int i = 64; i > 0; i--) // irá decrescer do 64 até o 0
{
  if (64%i==0) soma=soma+i; //se não sobrar nada da divisão, "soma" soma "i" a si mesmo
}
if (soma == num) return 1; //se é perfeito, retorna 1 (corresponderia a "TRUE")
else return 0; //se não é, retorna 0 (corresponde a "FALSE")

 

 

 

OBS.: ah, agora que vi, não botei "int <variavel>"

Postado

@Um mero usuário Consegui resolver! Eu tinha tentado quase dessa mesma maneira, só que eu tinha feito da forma crescente, e percebi o que eu errei olhando seu código, na parte de soma=soma+i, no lugar do i, eu tinha colocado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!