Pagini recente » Cod sursa (job #993370) | Cod sursa (job #2039386) | Cod sursa (job #1639257) | Cod sursa (job #1436852) | Cod sursa (job #904557)
Cod sursa(job #904557)
#include <iostream>
#include<cstdio>
using namespace std;
int ciur[1000005];
int mat[8][500005];
void pr(int N)
{
int i,j;
for(i=4;i<=N;i=i+2)
ciur[i]=ciur[i]+1;
for(i=3;i<=N;i=i+2)
if(ciur[i]==0)
for(j=i;j<N;j=j+i)
ciur[j]=ciur[j]+1;
return ;
}
int main()
{
FILE *in,*out;
in=fopen("divprim.in","r");
out=fopen("divprim.out","w");
int N=1000000,i,n,t,k,l,j;
pr(N);
fscanf(in,"%d",&t);
l=0;
for(j=1;j<=7;j++)
{
l=0;
for(i=1;i<=N;i++)
{
if(ciur[i]==j)
{
l++;
mat[j][l]=mat[j][l-1]+1;
}
}
}
for(l=1;l<=t;l++)
{
fscanf(in,"%d%d",&n,&k);
i=n;
fprintf(out,"%d\n",mat[k][n]);
}
return 0;
}