Exibe quantos números perfeitos foram digitados
Publicado por summerson de souza goncalves (última atualização em 17/10/2011)
[ Hits: 6.578 ]
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... }
Consultar informação do fstab via C
Calcular dia da semana a partir de uma data sugerida
ArkaPoing (arkanoid+pingpoing hehe)
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Falha com leitor de digitais no Ubuntu: sugestões? (0)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (1)