Advertisement
Namaru

Factor Primo

Apr 1st, 2023 (edited)
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.92 KB | Source Code | 0 0
  1. #include <iostream>
  2. #include <functional>
  3. #include <conio.h>
  4.  
  5. using namespace std;
  6.  
  7. int contFactPrimos(int numero){
  8.     int i = 2;
  9.     int cantPrimos = 0;
  10.     int ultimoPrimo = 0;
  11.     while(i < numero || numero/i==1){//se utiliza el while para comparar si i es menor o el dividendo del numero es 1;
  12.         if(numero%i==0){ // si el residuo es un entero entonces el factor es primo
  13.             numero = numero/i;
  14.             if (ultimoPrimo != i) //ya que el factor puede ser el mismo varias veces se guarda el ultimo distinto y se compara
  15.             {
  16.                cantPrimos++;
  17.  
  18.             }
  19.             ultimoPrimo = i;
  20.         }else{//sino el contador se suma en 1.
  21.             i++;
  22.         }
  23.     }
  24.     return cantPrimos;
  25. }
  26.  
  27. int asignarValor(int arreglo[], int posicion, int valor)
  28. {  
  29.     arreglo[posicion] = valor;
  30. }
  31.  
  32. void llenarArregloconPrimos(int arregloFactPrimos[], int numero)
  33. {
  34.     int i = 2;
  35.     int posicion = 0;
  36.     int ultimoPrimo = 0;
  37.     while (i < numero || numero / i == 1)
  38.     {
  39.         if (numero % i == 0)
  40.         {
  41.             numero = numero / i;
  42.             if (ultimoPrimo != i)
  43.             {
  44.                 asignarValor(arregloFactPrimos, posicion, i);
  45.                 posicion += 1;
  46.             }
  47.             ultimoPrimo = i;
  48.         }
  49.         else
  50.         {
  51.             i++;
  52.         }
  53.     }
  54. }
  55.  
  56. int implimirArreglo(int arreglo[], int cantPrimos)
  57. {
  58.  
  59.     for (int i = 0; i < cantPrimos; i++)
  60.     {
  61.  
  62.         cout << arreglo[i] << endl;
  63.     }
  64.     cout << "Y 1";
  65. }
  66.  
  67. int main()
  68. {
  69.     int numero, cantPrimos;      
  70.     cout   << "Ingrese el primer digito\n";
  71.     cin >> numero;    
  72.     cantPrimos = contFactPrimos(numero);  
  73.     int factoresPrimos[cantPrimos];
  74.     llenarArregloconPrimos(factoresPrimos, numero);  
  75.     cout << "Los factores Primos de " << numero <<" "<< numero2<< " son:\n";
  76.     implimirArreglo(factoresPrimos, cantPrimos); */
  77.  
  78.     return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement