Cod sursa(job #411951)

Utilizator Anonymous1010Chilivercu Cristian Anonymous1010 Data 5 martie 2010 11:38:49
Problema Divizori Primi Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>

int t,nr,k,i,j,n,aux;

int main()
{
	freopen("divprim.in","r",stdin);
	freopen("divprim.out","w",stdout);
	
	scanf("%d",&t);
	
	for(;t;t--)
	{
		scanf("%d %d",&n,&k);
		
		if(k==0)
			printf("1\n");
		
		i=2;	
		
		for(i=n;i>=2&&k;i--)
		{
			nr=0;
			aux=i;
			if(aux%2==0)
			{
				nr++;
				for(;aux%2==0;aux/=2);
			}
			
			for(j=3;j<=n&&aux!=1;j+=2)
				if(aux%j==0)
				{
					nr++;
					for(;aux%j==0;aux/=j);
				}
				
			if(nr==k)
			{
				printf("%d\n",i);
				break;
			}
		}
		
		if(i==1)
			printf("0\n");
	}
	
	return 0;
}