Pagini recente » Cod sursa (job #2497769) | Cod sursa (job #2746857) | Cod sursa (job #2486503) | Cod sursa (job #2485250) | Cod sursa (job #2238104)
#include <fstream>
using namespace std;
ifstream cin ("mins.in");
ofstream cout ("mins.out");
int v[10];
int main()
{
long long c,j,h,d,i,ci,cci,p,f,s=1,cnt;
cin>>c>>d;
for (i=2;i<=min(c-1,d-1);i++)
{
ci=i;
cci=i;
f=2;
p=0;
while (ci%f==0)
{
ci/=f;
p++;
}
if (p!=0)
{
cci/=f;
cci*=(f-1);
}
f++;
while (f*f<=ci&&ci!=1)
{
p=0;
while (ci%f==0)
{
ci/=f;
p++;
}
if (p!=0)
{
cci/=f;
cci*=(f-1);
}
f+=2;
}
if (ci!=1)
{
cci*=(ci-1);
cci/=ci;
}
s+=2*cci;
}
for (i=min(c-1,d-1)+1;i<=max(c-1,d-1);i++)
{
cnt=0;
ci=i;
cci=i;
f=2;
while (ci%f==0)
{
ci/=f;
v[1]=f;
cnt=1;
}
//cnt=1;
f=3;
while (f*f<=ci&&ci!=1)
{
p=0;
while (ci%f==0)
{
ci/=f;
p++;
}
if (p!=0)
v[++cnt]=f;
f+=2;
}
if (ci!=1)
v[++cnt]=ci;
cci=0;
for (j=1;j<=min(c-1,d-1);j++)
{
int ok=0;
for (h=1;h<=cnt;h++)
{
if (j%v[h]==0)
ok=1;
}
if (ok==0)
s++;
}
}
cout<<s;
return 0;
}