Cod sursa(job #208858)

Utilizator Alexa_ioana_14Antoche Ioana Alexandra Alexa_ioana_14 Data 19 septembrie 2008 12:11:09
Problema Divizori Primi Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
#define N 1000000
char c[N];
void init(int n)
{
	int i,j;
	for (i=2;i<=n; ++i)
		if (c[i]==0)
			for (j=i;j<=n; j+=i)
				++c[j];
}
int calcul(int n, int k)
{
	int i,rez,ver=0;
	for (int i=n; i>=2; i--)
	{
		if (c[i]==k)
		{
			rez=i;
			ver=1;
			break;
		}
	}
	if (!ver) rez=0;
	return rez;
}
int main()
{
	int t,n,i,k;
	freopen("divprim.in","r",stdin);
	freopen("divprim.out","w",stdout);
	init(1000000);
	scanf("%d",&t);
	for (i=1; i<=t; i++)
	{
		scanf("%d%d",&n,&k);
		printf("%d\n",calcul(n,k));
	}
}