Pagini recente » Cod sursa (job #1398580) | Cod sursa (job #2706610) | Cod sursa (job #1075581) | Cod sursa (job #1010435) | Cod sursa (job #1766016)
#include <fstream>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream fin("ndiv.in");
ofstream fout("ndiv.out");
int v[100005];
inline long long Solve(int n) {
size_t sz = 0;
for (int i = 1; 1LL * i * i <= 1LL * n; ++i) {
v[sz++] = i;
if (n/i != i)
v[sz++] = n/i;
}
sort(v, v + sz);
reverse(v, v + sz);
long long ret = n;
for (size_t i = 0, j = 1; j < sz; ++i, ++j) {
ret += 1LL * (n/v[i])*(v[i] - v[j]);
}
return ret;
}
int main() {
int a, b;
fin >> a >> b;
fout << Solve(b) - Solve(a - 1) << '\n';
return 0;
}
//Trust me, I'm the Doctor!