Pagini recente » Cod sursa (job #1015496) | Cod sursa (job #381461) | Cod sursa (job #561819) | Cod sursa (job #366612) | Cod sursa (job #867127)
Cod sursa(job #867127)
#include <stdio.h>
int v[4194000],d,i,k;
int main(){
freopen("diviz.in","r",stdin);
freopen("diviz.out","w",stdout);
int a,b,s,m;
scanf("%d",&m);
for(k=1;k<=m;k++){
scanf("%d%d",&a,&b);
for(i=1;i<=a;i++)
v[i]=0;
s=a;
for(i=2;i*i<=b;i++){
if(b%i==0){
while(b%i==0){
b=b/i;
}
d=1;
while(i*d<=a){
v[i*d]=1;
d++;}
}
}
d=1;
if(b!=1)
while(b*d<=a){
v[b*d]=1;
d++;}
for(i=1;i<=a;i++)
if(v[i]==1)
s--;
printf("%d\n",s);
}
return 0;
}