Exibe quantos números perfeitos foram digitados
Publicado por summerson de souza goncalves (última atualização em 17/10/2011)
[ Hits: 6.397 ]
Script com comentários e fácil de entender.
/*Construa um algoritmo que possa entrar com vários números positivos e imprima quantos números são perfeitos (Um número é perfeito se a soma de seus divisores exceto ele é igual a ele).*/ #include<conio.h> #include<iostream> using namespace std; int main() { int n ,x,somadiv,p(0); system("color F0"); //altera fonte de visualização para fundo branco e letra preta cout<<"Digite um numero ou 0 para sair"<<endl; cin>> n; while(n==1)// se o usuário digitar 1 ele nao faz o calculo e pede para digitar novamente { cout<<"O numero 1 nao e um numero perfeito"; cout<<"\nDigite um numero ou 0 para sair"<<endl; cin>> n; } while(n<0) // se digitar um numero negativo ele avisa { cout<<"\nEste nao e um numero positivo."<<endl; cout<<"\nDigite um numero ou 0 para sair"<<endl; cin>> n; } while(n!=0) { somadiv=0; // não declarar como variável global pois ele volta a zero. for(x=1;x < n ;x++) //faz a divisao por x até ser menor que o n { if(n%x==0) { somadiv+=x; //quando o divisor é igual a zero ele } //pega o divisor e vai somando } if(somadiv==n) //o numero acima é igual ao n entao ele é perfeito { p++; //soma quantidade de vezes que } cout<<"\nDigite um numero ou 0 para sair"<<endl; cin>> n; } cout<<"\nQuantidade de numeros perfeitos digitados: "<<p<<endl; getch(); // poderia colocar cin.get() e retirar a conio.h,só uma brincadeira... }
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado