Exibe quantos números perfeitos foram digitados
Publicado por summerson de souza goncalves (última atualização em 17/10/2011)
[ Hits: 6.610 ]
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...
}
Programa para cálculo vetorial
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)
Erro no suitable vídeo mode (15)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (2)









