Pagini recente » Cod sursa (job #1393370) | Cod sursa (job #2651237) | Cod sursa (job #2413920) | Cod sursa (job #2157604) | Cod sursa (job #470589)
Cod sursa(job #470589)
#include <cstdio>
#include <algorithm>
using namespace std;
#define file_in "mins.in"
#define file_out "mins.out"
int a,b;
int p[1000],nrd;
int viz[1000];
void citire()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &a, &b);
}
inline int cmmdc(int a, int b)
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int uau(int x, int j)
{
int i;
for (i=1;i<=nrd;++i)
if (x%p[j]==0)
return 0;
return 1;
}
void solve()
{
int i,j,nr=0,minim,maxim;
for (i=2;i<=1000;++i)
if (viz[i])
{
p[++nrd]=i;
for (j=i+i;j<=1000;j+=i)
viz[j]=1;
}
minim=min(a-1,b-1);
maxim=max(a-1,b-1);
for (i=2;i<=minim;++i)
for (j=1;j<i;++j)
if (j==1)
nr++;
else
if (cmmdc(i,j)==1) nr++;
nr<<=1;
for (i=minim+1;i<=maxim;++i)
for (j=1;j<=minim;++j)
if (j==1)
nr++;
else
if (uau(i,j)==1) nr++;
printf("%d\n", nr+1);
}
int main()
{
citire();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}