Pagini recente » Cod sursa (job #1929997) | Cod sursa (job #867882) | Cod sursa (job #1704834) | Cod sursa (job #304434) | Cod sursa (job #1540362)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin ("mins.in");
ofstream fout ("mins.out");
#define MAX 1000000
long long sol;
int ciur[MAX+1], c, d, lmax;
bool put[MAX+1];
int main()
{
fin >> c >> d;
c--;
d--;
lmax = min(c, d);
sol = 1LL * c * d;
for (int i = 2; i <= lmax; ++i )
{
if(!ciur[i])
{
int j;
for (j = i; j <= lmax; j += i )
ciur[j]++;
if ( 1LL * i * i <= lmax )
for (j = i * i; j <= lmax; j += i * i )
put[j] = true;
}
}
for (int i = 2; i <= lmax; ++i )
if ( put[i] == false )
{
if ( ciur[i] % 2)
sol -= 1LL * (c / i) * (d / i);
else
sol += 1LL * (c / i) * (d / i);
}
fout << sol;
return 0;
}