Pagini recente » Cod sursa (job #2592895) | Cod sursa (job #2364892) | Cod sursa (job #1821583) | Cod sursa (job #397976) | Cod sursa (job #2145051)
#define DM 1003
#define DN 1000003
#include <bitset>
#include <fstream>
using namespace std;
ifstream fi ("mins.in");
ofstream fo ("mins.out");
bitset <DN> bs;
int c, d, sum, prm[DM];
int calcul(int a, int b)
{
int rez = 0;
for (int i = 1; i <= prm[0] && prm[i] <= min(a, b); ++i)
{
if (a%prm[i] == 0)
rez += b/prm[i];
}
return rez;
}
int main()
{
fi >> c >> d;
if (c > d)
swap(c, d);
prm[++prm[0]] = 2;
for (int i = 1; ((i*i) << 1) + (i << 1) <= d; ++i)
if (!bs[i])
{
prm[++prm[0]] = (i << 1) + 1;
for (int j = ((i*i) << 1) + (i << 1); (j << 1) + 1 <= d; j+=(i << 1) + 1)
bs[j] = 1;
}
for (int i = 2; i < d; ++i)
sum += c - 1 - calcul(i, c - 1);
sum += c - 1;
fo << sum;
return 0;
}