Cod sursa(job #2278086)

Utilizator AlexutAlex Calinescu Alexut Data 7 noiembrie 2018 11:38:32
Problema Frac Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
using namespace std;
ifstream cin("frac.in");
ofstream cout("frac.out");
long long oki[100000000],v[100000000],n,p;

int main()
{
    cin>>n>>p;
    int nr=0;
    if (n%2==0)
    {
        nr++;
        v[nr]=2;
        while (n%2==0)
            n=n/2;
    }
    long long d=1;
    while (n>1)
    {
        d=d+2;
        if (n%d==0)
        {
            nr++;
            v[nr]=d;
            while (n%d==0)
                n=n/d;
        }
    }
    for (int i=1; i<=nr; i++)
        for (int j=v[i]; j<=1000000; j=j+v[i])
            oki[j]=1;
    nr=0;
    for (int i=1; nr<p; i++)
        if (oki[i]==0)
        {
            nr++;
            if (nr==p)
                cout<<i;
        }
    return 0;
}