Pagini recente » Cod sursa (job #2679304) | Cod sursa (job #2544887) | Cod sursa (job #2544916) | Cod sursa (job #1902150) | Cod sursa (job #2148457)
#include <fstream>
using namespace std;
ifstream fin("zero2.in");
ofstream fout("zero2.out");
long long p;
long long cmmfp(long long x)
{
p = 0;
while(!(x & 1)) {
p++;
x >>= 1;
}
if(x == 1)
return 2;
else {
int d = 1;
while(x > 1) {
d += 2;
if(x % d) continue;
p = 0;
while(!(x % d)) {
x /= d;
p++;
}
}
return d;
}
}
int main()
{
int t = 10;
while(t--) {
long long n, b, x, nr = 0;
fin >> n >> b;
x = cmmfp(b);
b = x;
while(b <= n) {
int k = n / b;
nr += (((n + 1 - b) * 2 - (k - 1) * b) * k) / 2;
b *= x;
}
fout << nr / p << '\n';
}
return 0;
}