crsandu

Untitled

Nov 11th, 2016
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.89 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. int maxv = 2;
  7. int maxp = 1;
  8. int n, x, aux, ant, viit;
  9. int p[1000000], k = 1;
  10. int prim[1000000];
  11. int r;
  12.  
  13. void inmultire(int n)
  14. {
  15.     viit = p[1]*n;
  16.     for (int j=1; j<=k; j++)
  17.     {
  18.         ant = viit;
  19.         p[j+1] = p[j+1] * n;
  20.         if (ant >= 10)
  21.         {
  22.             p[j+1] += ant/10;
  23.         }
  24.         viit = p[j+1];
  25.         p[j] = ant%10;
  26.     }
  27.     if (p[k+1] != 0)
  28.     {
  29.         k++;
  30.         while (p[k] >= 10)
  31.         {
  32.             k++;
  33.             p[k] = p[k-1]/10;
  34.             p[k-1] %= 10;
  35.         }
  36.     }
  37. }
  38.  
  39. void primus(int n)
  40. {
  41.     int d = 2, p = 1;
  42.     if (n%2 == 0)
  43.     {
  44.         inmultire(2);
  45.     }
  46.     d++;
  47.     while (d <= n)
  48.     {
  49.         if (n%d == 0)
  50.         {
  51.             p = 2;
  52.             inmultire(d);
  53.             while (n%d==0)
  54.             {
  55.                 n /= d;
  56.             }
  57.         }
  58.         d+=2;
  59.     }
  60.     if(p == 1)
  61.     {
  62.         inmultire(n);
  63.     }
  64. }
  65.  
  66. ifstream fin("date.in");
  67. ofstream fout("date.out");
  68.  
  69. int main()
  70. {
  71.     cin >> n;
  72.     p[1] = 1;
  73.     prim[1] = 2;
  74.     for (int i=1; i<=n; i++)
  75.     {
  76.         cin >> x;
  77.         primus(x);
  78.         /*for (int j=1; j<=k; j++)
  79.         {
  80.             ant = viit;
  81.             p[j+1] = p[j+1] * r;
  82.             if (ant >= 10)
  83.             {
  84.                 p[j+1] += ant/10;
  85.             }
  86.             viit = p[j+1];
  87.             p[j] = ant%10;
  88.         }
  89.         if (p[k+1] != 0)
  90.         {
  91.             k++;
  92.             while (p[k] >= 10)
  93.             {
  94.                 k++;
  95.                 p[k] = p[k-1]/10;
  96.                 p[k-1] %= 10;
  97.             }
  98.         }*/
  99.         /* for (int i=k; i>=1; i--)
  100.          {
  101.              cout << p[i];
  102.          }
  103.          cout << " " << k << endl << endl << endl;*/
  104.     }
  105.     for (int i=k; i>=1; i--)
  106.     {
  107.         cout << p[i];
  108.     }
  109.     return 0;
  110. }
Advertisement
Add Comment
Please, Sign In to add comment