Cod sursa(job #1711304)

Utilizator Fanika123Tanasa Stefan Fanika123 Data 30 mai 2016 22:51:53
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <fstream>
#define N 3162277
using namespace std;
ifstream cin("nrdiv.in");
ofstream cout("nrdiv.out");
bool ciur[N];
void prime()
{
    ciur[0] = ciur[1] = 1;
    for (int i = 2; i * 2 <= N; i++) ciur[i * 2] = 1;
    for (int i = 3; i * i <= N; i += 2)
        if (!ciur[i])
        for (int j = i * i; j <= N; j += i)
            ciur[j] = 1;
}
int vec[700005],m;
void Vector1()
{int i,m;
    m=0;
    for (i=1;i<=N;i++)
        if (ciur[i]==0) vec[++m]=i;
}
void Rezolva(long long x)
{int i,nr=0;
     if (x==1) cout<<1<<"\n";
     else
      {for (i=1;i<=x/2;i++)
        if (x%vec[i]==0)
           while(x%vec[i]==0)
           {x/=vec[i];
            nr++;
           }
      }
     cout<<nr<<"\n";
}
int n;
long long x;
int main()
{int i;
    cin>>n;
    prime();
    Vector1();
    for (i=1;i<=n;i++)
    {cin>>x;
     Rezolva(x);
    }
    cin.close();
    cout.close();
    return 0;
}