Pular para o conteúdo

Exibe quantos números perfeitos foram digitados

Script com comentários e fácil de entender.
summerson de souza goncalves summerson
Hits: 6.785 Categoria: C/C++ Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Script com comentários e fácil de entender.
Download 4.cpp Enviar nova versão

Esconder código-fonte

/*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...
}                                    
                                         
      
              

MeikeNeime - Programa gerador de nomes aleatórios

Classe para MySQL

Função simples de criptografia em um vetor

CALCULADORA SIMPLES

Função que converte números decimais em binários

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.