Cod sursa(job #1938270)

Utilizator sefuvostruHoszu Adryel sefuvostru Data 24 martie 2017 18:56:29
Problema Divizori Primi Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <climits>
#include <fstream>
using namespace std;
ifstream f("divprim.in");
ofstream g("divprim.out");
int t,i,j,x,vx,mmax,prim[1000000],ok,nr1;
struct
{
	int k,nr;
} v[100001];
int main()
{
	mmax=INT_MIN;
    f>>t;
    for(i=1;i<=t;i++)
    {
    f>>v[i].nr>>v[i].k;
    if(v[i].nr>mmax)
    mmax=v[i].nr;
    }
    prim[1]=1;
    for(i=2;i*i<=mmax;i++)
    {
    	if(prim[i]==0)
    	for(j=2;j<=mmax/i;j++)
    	prim[i*j]=1;
    }
    for(i=1;i<=t;i++)
    {
    	vx=0;
    	for(x=v[i].nr;x>=1;x--)
    	{
    	for(j=2;j<=x&&ok!=1;j++)
    	{
    	if(prim[j]==0&&x%j==0)
    	nr1++;
    	if(nr1>v[i].k)
    	ok=1;	
    	}
    	ok=0;
    	if(nr1==v[i].k&&x>=vx)
    	{
    		vx=x;
    		x=-1;
    	}
    	nr1=0;
        }
        g<<vx<<"\n";
    }
    return 0;
}