Pagini recente » Cod sursa (job #1705350) | Cod sursa (job #2635692) | Cod sursa (job #1364364) | Cod sursa (job #3239330) | Cod sursa (job #3149021)
#include<fstream>
using namespace std;
ifstream F("pinex.in");
ofstream G("pinex.out");
#define N 1000001
long long v[N],p[N],a[101],i,j,o,x,y,m,d,l,k,t,r,s;
int main()
{
for(m=N-1,i=2,F>>o;i<=m;++i)
if(!v[i])
for(p[++d]=i,j=i*i;j<=m;j+=i)
v[j]=1;
while(o--) {
for(F>>x>>y,l=x,k=0,i=1;i*i<=y;++i)
if(y%p[i]==0)
for(a[++k]=p[i];y%p[i]==0;y/=p[i]);
if(y>1)
a[++k]=y;
for(t=1<<k,i=1;i<t;++i) {
for(r=1,s=j=0;j<k;++j)
if((i&(1<<j))>0)
s++,r*=a[j+1];
l+=((s%2==0?1:-1)*x/r);
}
G<<l<<"\n";
}
return 0;
}