Cod sursa(job #1082138)
Utilizator | Data | 14 ianuarie 2014 10:57:59 | |
---|---|---|---|
Problema | Principiul includerii si excluderii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 1.24 kb |
#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;
x=b;
d=2;
while(b>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+a[p][r]*w;
}
}
k=r;
}
s=c-s;
printf("%d\n",s);
}
return 0;
}