Alasca 0 Denunciar post Postado Outubro 11, 2014 Olá Preciso de ajuda para desenvolver um algoritmo em visualg que recebe dois números e calcula a quantidade de números perfeitos entre este intervalo fechado, ou seja, incluindo os dois números. Obs.: Um número perfeito é aquele que é igual à soma dos seus divisores (excluindo ele mesmo). Exemplos: 6 = 1+2+3. 28= 1+2+4+7+14. O que eu já consegui está no código abaixo. algoritmo "perfeitos" var i,n,soma: inteiro inicio leia (n) soma <- 0 para i de 1 ate n-1 faca se n%i=0 entao soma <- soma + i fimse fimpara se soma=n entao escreva ("Perfeito") senao escreva ("Não é perfeito") fimse fimalgoritmo Porém eu quero que o usuário possa escolher o intervalo. Por exemplo, de 1 a 100, e que o algoritmo retorne quantos números perfeitos existem entre 1 e 100. Mas não tenho ideia de como começar a fazer isso. Se alguém puder me ajudar agradeço muito. Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Outubro 12, 2014 Pense o seguinte, você já conseguiu uma lógica para encontrar um número perfeito, agora o que você precisa fazer é colocar um laço ao redor de tudo isso ai e utilizar o número atual como uma variável de contagem (e.g: i) e fazer sua lógica normalmente, porém ao retornar os números você vai precisar criar um array de valores: Numero => Perfeito (S/N) Compartilhar este post Link para o post Compartilhar em outros sites
CITH 4 Denunciar post Postado Outubro 23, 2014 Olá Alasca, no seu código você esqueceu de criar um for dentro do existente( Aninhado ) para encontrar os divisores dos números( que estão na variável " i " no caso ). Seguindo o enunciado do seu problema, no lugar de mostrar se o número é perfeito, você deveria incrementar 1 a alguma variável, por exemplo " Quantidade ". No final você mostra o valor da variável. No começo parece difícil, mas se vooc viajar nos códigos e na lógica vooc vai entender. Aconcelho você a começar o seu código do 0, pois vooc tomou um rumo meio troncho '~'. Espero ter ajudado :) Compartilhar este post Link para o post Compartilhar em outros sites