Cod sursa(job #2162705)
| Utilizator | Data | 12 martie 2018 13:02:37 | |
|---|---|---|---|
| Problema | Principiul includerii si excluderii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.76 kb |
#include<fstream>
using namespace std;
ifstream f("pinex.in");
ofstream g("pinex.out");
int div[10001],i,a,b,n,k,j,sol,t,nrd;
void descp(int nr)
{
int d=2;
while(d*d<=nr)
{
while(nr%d==0)
{
div[++k]=d;
nr=nr/d;
}
if(d==2)
d++;
else
d=d+2;
}
if(nr>1)
div[++k]=nr;
}
int main ()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>a>>b;
k=0;
descp(b);
nrd=0;
for(j=2;j<=a;j++)
{
for(t=1;t<=k;t++)
{
if(j%div[t]==0)
{
nrd++;
break;
}
}
}
g<<a-nrd<<'\n';
}
return 0;
}
