Cod sursa(job #2201551)

Utilizator IustinPetrariuIustinian Petrariu IustinPetrariu Data 5 mai 2018 08:28:17
Problema Frac Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
#define  NMAX 100000000
#define ll long long

using namespace std;
ifstream fin("frac.in");
ofstream fout("frac.out");
int B,P;
long long pus[NMAX],countt[NMAX],t;
int nr;
int Find(int x)
{
    pus[x]=1;
    for(ll j=(x<<1); j <= NMAX ; j+=x)
        pus[j]=1;
}
void answer()
{
    for(ll i =  1; i <= NMAX; i++)
    {
        if(pus[i] == 0)
        {
            nr++;
            if(nr==P)
                fout<<i;
        }
    }
}
int main()
{
     fin>>B>>P;
     int d=2;
     while(B>1)
     {
         if(B%d==0)
         {
             countt[++t]=d;
             while(B%d==0)
                B=B/d;
         }
         d++;
     }
     for(int i = 1; i <= t; i++)
     {
         Find(countt[i]);
     }
     answer();
    return 0;
}