Pagini recente » Cod sursa (job #2151646) | Cod sursa (job #2719927) | Cod sursa (job #2655703) | Cod sursa (job #1773538) | Cod sursa (job #2279020)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("pindex.in");
ofstream g("pindex.out");
long long t,a,b,nr,v[101],i,j,nrc,rez,p;
int main()
{
f>>t;
while(t--)
{
f>>a>>b;
nr=0;
for(i=2;i*i<=b;i++)
{
if(b%i==0)
{
v[nr]=i;
nr++;
while(b%i==0)
{
b=b/i;
}
}
}
if(b>1)
{
v[nr]=b;
}
rez=0;
for(i=1;i<(1LL<<(nr+1));i++)
{
nrc=0;
p=1;
for(j=0;j<=nr;j++)
{
if(((1LL<<j)&i)!=0)
{
nrc++;
p=p*v[j];
}
}
if(nrc%2==1)
{
rez=rez+a/p;
}
else
{
rez=rez-a/p;
}
}
g<<a-rez<<"\n";
}
return 0;
}