Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: LauraD en 4 Septiembre 2014, 02:59 am



Título: Programa divisores en C++, Urgente!!
Publicado por: LauraD en 4 Septiembre 2014, 02:59 am
Buenas noches!

Tengo que elaborar un algoritmo en el que se ingresen 2 números, deben indicarse cuantos y cuales son sus divisores y cuantos y cuales son los divisores que tienen en comun estos dos numeros...

La primera parte ya la elabore, pero no sé cómo indicar cuantos y cuales son los que tienen en común.

Les agradeceria muchisimo si pueden ayudarme, lo necesito con urgencia!

Aqui les dejo el código que llevo hasta el momento!

Muchas gracias c:

Código:
#include<iostream>
#include<cstdlib>

using namespace std;


int main()
{
   int i,j;
   int Num1,Num2;
   int cont=0,conta=0;
       
 
   cout<<"Digite dos numeros de los cuales desee conocer sus respectivos divisores"<<endl;
   cin>>Num1;
   cin>>Num2;
   
   cout<<endl<<"Los divisores de "<<Num1<<" son: "<<endl;
   
   for(i=1;i<=Num1;i++)
   {
     
      if(Num1%i==0)
      {
         cout<<i;
         cont=cont+1;
         cout<<"\t";
      }       
   }
   
   cout<<endl<<endl<<"El numero "<<Num1<<" tiene "<<cont<<" divisores"<<endl;
   
 
  cout<<endl<<endl<<"Los divisores de "<<Num2<<" son:"<<endl;
   
    for(j=1;j<=Num2;j++)
   {
     if(Num2%j==0)
     {
       cout<<j;
       conta=conta+1;
       cout<<"\t";
     }
   }
   
   cout<<endl<<endl<<"El numero "<<Num2<<" tiene "<<conta<<" divisores"<<endl;
   
   system ("pause");
   return EXIT_SUCCESS;
}


Título: Re: Programa divisores en C++, Urgente!!
Publicado por: engel lex en 4 Septiembre 2014, 03:07 am
has un ciclo que por cada divisor de Num1 compare todos los divisores de Num2 y los que estén presentes los imprimes


Título: Re: Programa divisores en C++, Urgente!!
Publicado por: rir3760 en 4 Septiembre 2014, 04:29 am
Tengo que elaborar un algoritmo en el que se ingresen 2 números, deben indicarse cuantos y cuales son sus divisores y cuantos y cuales son los divisores que tienen en comun estos dos numeros
Solo necesitas agregar un tercer bucle donde verifiques si el residuo de la división de ambos números es cero:
Código
  1. for (i = 1; i <= num; i++)
  2.   if (Num1 % i == 0 && Num2 % i == 0)
  3.      ...
Donde (por eficiencia) "num" es el menor de los dos números (puedes utilizar el mayor obteniendo los resultados correctos pero con iteraciones innecesarias).

----

Y por favor cuando abras un tema evita títulos como "Urgente", "Auxilio", etc.

Un saludo