Cod sursa(job #61478)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 19 mai 2007 17:06:11
Problema Frac Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream.h>

long long n, p, v[50], m, c[100000000], nr;

void prim(long long x)
{
  long long d=2;
  if (x%d==0)
    {
      while (x%2==0)
	x/=2;
      v[++nr]=2;
    }
  d=3;
  while (x%d==0)
    {
      if (x%d==0)
	{
	  while(x%d==0) x/=d;
	  v[++nr]=d;
	}
    }
}


void ciur()
{
  long long i, j;
  for (i=1; i<=nr; i++)
    {
       if (c[v[i]]==0)
	{
	  c[v[i]]=1;
	  for (j=2*v[i]; j<=100000000; j+=v[i])
		c[j]=1;
	}
    }
}

long long parcurs()
{

  long long contor=0,i=0;
  while (contor<p)
    {
      i++;
      if (c[i]==0)
      contor++;
    }
  return i;
}

void calcul()
{
  long long nr;
  ifstream in("frac.in");
  in>>n>>p;
  prim(n);
  ciur();
  nr=parcurs();
  ofstream out("frac.out");
  out<<nr;
  in.close();
  out.close();
}

int main()
{
  calcul();
  return 0;
}