Exibe quantos números perfeitos foram digitados
Publicado por summerson de souza goncalves (última atualização em 17/10/2011)
[ Hits: 6.712 ]
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.
Berry Bank: Criando um Banco Digital Gamificado para seus Filhos com Gentoo, Flask e Tailscale
Papagaiando o XFCE com temas e recursos
Instale o DOOM Retro no Gentoo facilmente via Overlay
Steam (Flatpak) rodando jogos em partição NTFS
O dock Plank + U-Launcher deixam qualquer desktop mais produtivo
Instalar Linux em notebook Sony Vaio VPCEG13EB (17)
Alguém tem que acabar com ANATEL!!! (10)
O que você está ouvindo agora? [2] (229)









