Pagini recente » Cod sursa (job #1858900) | Cod sursa (job #744206) | Cod sursa (job #1118871) | Cod sursa (job #1730800) | Cod sursa (job #1082590)
#include<stdio.h>
#include<algorithm>
using namespace std;
int n,i,c,b,k,x,d,t,s,w,j,p,q,r,o,h,a[3][100000];
int main ()
{
freopen("pinex.in","r",stdin);
freopen("pinex.out","w",stdout);
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{
scanf("%d %d",&c,&b);
k=0;
s=0;
x=b;
d=2;
while(x>1)
{
p=0;
while(x%d==0)
{
p++;
x=x/d;
}
if(p>0)
{
k++;
a[1][k]=d;
s=s+c/d;
}
d++;
}
t=k;
w=1;
for(j=2;j<=t-1;j++)
{
w=w*(-1);
if(j%2==0)
{
p=2;
q=1;
}
else
{
p=1;
q=2;
}
r=0;
for(o=2;o<=k;o++)
{
for(h=1;h<o;h++)
{
r++;
a[p][r]=a[q][o]*a[q][h];
s=s+c/a[p][r]*w;
}
}
k=r;
}
if(t>=2)w=w*(-1) , s=s+c/b*w;
s=c-s;
printf("%d\n",s);
}
return 0;
}