Cod sursa(job #417119)

Utilizator Cristi09Cristi Cristi09 Data 14 martie 2010 08:57:17
Problema Divizori Primi Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<stdio.h>
#define MAX 1000001
long v[MAX],n,t,k;
void ciur()
{
	int i,j;
	for(i=2;i+i<=MAX;++i)
	{
		if(!v[i])
		{v[i]=1;
		for(j=i*2;j<MAX;j+=i)
		++v[j];
		}
	}
}
int main()
{
	ciur();
	FILE*f=fopen("divprim.in","r");
	fscanf(f,"%ld",&t);	
	long i;
	FILE*g=fopen("divprim.out","w");
	for(;t;--t)
	{
		fscanf(f,"%ld%ld",&n,&k);
		for(i=n;i>=0;--i)
			if(v[i]==k){fprintf(g,"%d\n",i);i=-2;}
		if(i==-1)fprintf(g,"0\n");
	}
	fclose(f);
	fclose(g);
	return 0;
}