Pagini recente » Borderou de evaluare (job #2830545) | Cod sursa (job #573493) | Cod sursa (job #2382586) | Cod sursa (job #1471322) | Cod sursa (job #2610308)
#include <bits/stdc++.h>
using namespace std;
ifstream in("pascal.in");
ofstream out("pascal.out");
int n,k;
char nrDiv[2500001];
int d1,d2,up;
int sum;
int main()
{
in>>n>>k;
for(int r=k; r<=n; r*=k)
for(int l=r; l<=n; l+=r)
nrDiv[l]++;
for(int i=1; i<=n; i++)
up+=nrDiv[i];
d2=up;
for(int i=1; i<=n/2; i++)
{
d1+=nrDiv[i];
d2-=nrDiv[n-i+1];
if(d1+d2!=up)
sum+=2;
}
if(n%2==0 && d1+d2!=up)
sum--;
out<<sum;
return 0;
}