Programa divisores en C++, Urgente!!

Iniciado por LauraD, 4 Septiembre 2014, 02:59 AM

0 Miembros y 1 Visitante están viendo este tema.

LauraD

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:


#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;
}

engel lex

has un ciclo que por cada divisor de Num1 compare todos los divisores de Num2 y los que estén presentes los imprimes
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

rir3760

Cita de: LauraD en  4 Septiembre 2014, 02:59 AMTengo 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:
for (i = 1; i <= num; i++)
   if (Num1 % i == 0 && Num2 % i == 0)
      ...

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
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language