Pagini recente » Cod sursa (job #3627) | Cod sursa (job #1819664) | Cod sursa (job #3137427) | Cod sursa (job #1673883) | Cod sursa (job #338804)
Cod sursa(job #338804)
#include <iostream>
using namespace std;
#define NMAX 1000001
int phi[NMAX];
int main()
{
int C, D, i, j, jmin;
long long ret = 0;
freopen("mins.in","r",stdin);
freopen("mins.out","w",stdout);
cin >> C >> D;
if ( C > D )
swap(C,D);
--C, --D;
for ( i = 2; i <= D; ++i )
if ( !phi[i] )
{
ret += min(C,i-1);
if ( i <= C )
ret += min(C,i-1);
jmin = i;
for ( j = 2 * i; j <= D; j += i )
{
if ( j <= C )
jmin = j;
else
jmin = C;
if ( !phi[j] )
phi[j] = jmin - jmin/i;
else
phi[j] -= phi[j]/i;
}
}
else
{
ret += phi[i];
if (i <= C ) ret += phi[i];
}
++ret;
if ( C == 0 || D == 0 ) ret = 0;
cout << ret;
return 0;
}